summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-06-07 18:31:17 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-05 11:22:44 -0700
commitcd495841c53fe3ac04578c0711339282bec90ed6 (patch)
treed6fcb175d682ffc0026af92de312786a485be7b6 /drivers
parent91d5e7b11a032cb392bf6332acc23e7e2f0679f3 (diff)
pcmcia: avoid validate_cis failure on CIS override
commit b83156b52dd77979cc93bafc2283929532f6f7d0 upstream. Commit a8408c17 introduced a new check to pccard_validate_cis(), which avoids any "late" calls to this function. This broke the insertion of cards which require a CIS override which changes the number of card functions. Fix this by asserting that this is _not_ a late call, but a proper call early during the card insertion process. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16138 Reported-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pcmcia/ds.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 041eee43fd8d..6df5dffd49af 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -682,6 +682,7 @@ static void pcmcia_requery(struct pcmcia_socket *s)
if (old_funcs != new_funcs) {
/* we need to re-start */
pcmcia_card_remove(s, NULL);
+ s->functions = 0;
pcmcia_card_add(s);
}
}