Browse Source

pcmcia: avoid pccard_validate_cis failure in resume callpath

If the PCMCIA CIS changed before a resume event (e.g. due to
a card exchange while being suspended, possibly also during
a call to "pccardctl reset"), also set the function count to
zero so that the subsequent call to pccard_validate_cis() does
not fail.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Dominik Brodowski 15 years ago
parent
commit
cc83b08fc7
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/pcmcia/ds.c

+ 1 - 0
drivers/pcmcia/ds.c

@@ -1283,6 +1283,7 @@ static int ds_event(struct pcmcia_socket *skt, event_t event, int priority)
 			destroy_cis_cache(skt);
 			kfree(skt->fake_cis);
 			skt->fake_cis = NULL;
+			s->functions = 0;
 			mutex_unlock(&s->ops_mutex);
 			/* now, add the new card */
 			ds_event(skt, CS_EVENT_CARD_INSERTION,