]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] usb: klist_node_attached() fix
authorPatrick Mochel <mochel@digitalimplant.org>
Mon, 20 Jun 2005 22:15:28 +0000 (15:15 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Jun 2005 22:15:28 +0000 (15:15 -0700)
commit1c71d33f0babb7e8fa53ac64c8d6430639a7f9f1
treeef78c4a7c1b8ab39c9b6f47fef82278d5145e74d
parent92d00376d3c4d8b38334c85decd30672306d3626
[PATCH] usb: klist_node_attached() fix

The original code looks like this:

        /* if interface was already added, bind now; else let
         * the future device_add() bind it, bypassing probe()
         */
        if (!list_empty (&dev->bus_list))
                device_bind_driver(dev);

IOW, it's checking to see if the device is attached to the bus or not
and binding the driver if it is. It's checking the device's bus list,
which will only appear empty when the device has been initialized, but
not added. It depends way too much on the driver model internals, but it
seems to be the only way to do the weird crap they want to do with
interfaces.

When I converted it to use klists, I accidentally inverted the logic,
which led to bad things happening. This patch returns the check to its
orginal value.

From: Patrick Mochel <mochel@digitalimplant.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Index: gregkh-2.6/drivers/usb/core/usb.c
===================================================================
drivers/usb/core/usb.c