kernel-ark/drivers/base
Roman Kagan b2d84f078a [PATCH] drivers/base/bus.c: fix iteration in driver_detach()
With 2.6.11 and 2.6.12-rc2 (and perhaps a few versions before) usb
drivers for multi-interface devices, which do
usb_driver_release_interface() in their disconnect(), make rmmod hang.

It turns out to be due to a bug in drivers/base/bus.c:driver_detach(),
that iterates over the list of attached devices with
list_for_each_safe() under an assumption that device_release_driver()
only releases the current device, while it may also call
device_release_driver() for other devices on the same list.

The following patch fixes it.  Please consider applying.

Signed-off-by: Roman Kagan <rkagan@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-04 23:44:38 -07:00
..
power
attribute_container.c
base.h
bus.c [PATCH] drivers/base/bus.c: fix iteration in driver_detach() 2005-05-04 23:44:38 -07:00
class_simple.c
class.c
core.c
cpu.c
dmapool.c
driver.c
firmware_class.c
firmware.c
init.c
interface.c
Kconfig
Makefile
map.c
node.c
platform.c
sys.c
transport_class.c