From: Dominik Brodowski Date: Mon, 7 Jun 2010 16:31:17 +0000 (+0200) Subject: pcmcia: avoid validate_cis failure on CIS override X-Git-Tag: v2.6.34.1~60 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cd495841c53fe3ac04578c0711339282bec90ed6;p=karo-tx-linux.git 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 Signed-off-by: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman --- 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); } }