linux/drivers/usb/core
Patrick Mochel 273971bade [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
===================================================================
2005-06-20 15:15:28 -07:00
..
buffer.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
config.c [PATCH] USB: fix up some sparse warnings about static functions that aren't static. 2005-04-18 17:39:24 -07:00
devices.c [PATCH] make driver's name be const char * 2005-06-20 15:15:01 -07:00
devio.c [PATCH] usb: kfree() cleanups in drivers/usb/core/devio.c 2005-04-18 17:39:33 -07:00
file.c [PATCH] USB: trivial error path fix 2005-06-20 15:15:09 -07:00
hcd-pci.c [PATCH] usb resume fixes 2005-04-18 17:39:22 -07:00
hcd.c [PATCH] USB: move the usb hcd code to use the new class code. 2005-06-20 15:15:07 -07:00
hcd.h [PATCH] USB: hcd suspend uses pm_message_t 2005-04-18 17:39:23 -07:00
hub.c [PATCH] USB: kfree cleanup for drivers/usb/* - no need to check for NULL 2005-04-18 17:39:34 -07:00
hub.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inode.c [PATCH] USB: fix up some sparse warnings about static functions that aren't static. 2005-04-18 17:39:24 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
message.c [PATCH] USB: Spelling fixes for drivers/usb. 2005-05-03 23:31:52 -07:00
otg_whitelist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs.c [PATCH] USB: make MODALIAS code a bit smaller devices 2005-06-03 00:04:29 -07:00
urb.c [PATCH] USB: Spelling fixes for drivers/usb. 2005-05-03 23:31:52 -07:00
usb.c [PATCH] usb: klist_node_attached() fix 2005-06-20 15:15:28 -07:00
usb.h [PATCH] USB: fix up some sparse warnings about static functions that aren't static. 2005-04-18 17:39:24 -07:00