Messages in this thread Patch in this message | | | Date | Sat, 19 Jun 2010 14:36:47 +0200 | From | Dominik Brodowski <> | Subject | Re: Another PCMCIA regression |
| |
Mikulas,
many thanks for tracking down this issue. Does the following patch (instead of the one you provided) help, too?
Thanks & best, Dominik
From: Dominik Brodowski <linux@dominikbrodowski.net> Date: Sat, 19 Jun 2010 14:33:56 +0200 Subject: [PATCH] pcmcia: do not initialize the present flag too late.
The "present" flag was initialized too late -- possibly, a card was already registered at this time, so re-setting the flag to 0 caused pcmcia_dev_present() to fail.
Reported-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 9fc3398..eac9614 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -1356,6 +1356,7 @@ static int __devinit pcmcia_bus_add_socket(struct device *dev, INIT_LIST_HEAD(&socket->devices_list); memset(&socket->pcmcia_state, 0, sizeof(u8)); socket->device_count = 0; + atomic_set(&socket->present, 0); ret = pccard_register_pcmcia(socket, &pcmcia_bus_callback); if (ret) { @@ -1364,8 +1365,6 @@ static int __devinit pcmcia_bus_add_socket(struct device *dev, return ret; } - atomic_set(&socket->present, 0); - return 0; }
| |