]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
pcmcia: do not initialize the present flag too late.
authorDominik Brodowski <linux@dominikbrodowski.net>
Sat, 19 Jun 2010 12:33:56 +0000 (14:33 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Aug 2010 17:30:22 +0000 (10:30 -0700)
commit e4f1ac2122413736bf2791d3af6533f36b46fc61 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pcmcia/ds.c

index 6df5dffd49af5261a10f6f2713cf52fca2d7cc88..ff78e26a6381b300dd5c2d461b521a696976a0cb 100644 (file)
@@ -1366,6 +1366,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) {
@@ -1374,8 +1375,6 @@ static int __devinit pcmcia_bus_add_socket(struct device *dev,
                return ret;
        }
 
-       atomic_set(&socket->present, 0);
-
        return 0;
 }