1
linux/drivers
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
..
acorn Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acpi [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
atm [ATM]: ENI155P error handling fix 2005-04-24 19:14:36 -07:00
base [PATCH] drivers/base/bus.c: fix iteration in driver_detach() 2005-05-04 23:44:38 -07:00
block [PATCH] ISA DMA Kconfig fixes - part 3 2005-05-04 07:33:14 -07:00
bluetooth Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cdrom [PATCH] Avoid unnecessary ide-cd cache flushes 2005-05-01 12:12:52 -07:00
char Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git 2005-05-04 19:52:45 -07:00
cpufreq [PATCH] cpufreq annoying warning fix 2005-05-02 08:15:22 -07:00
crypto Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dio Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
eisa Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fc4 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
firmware Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i2c [PATCH] ppc annotations: i2c-mpc 2005-04-25 18:32:12 -07:00
ide [PATCH] ppc32: Fix IDE related crash on wakeup 2005-05-01 08:58:41 -07:00
ieee1394 [PATCH] Fix non-legacy ISO receive regression 2005-04-21 14:09:42 -07:00
infiniband [PATCH] fix include order in mthca_memfree.c 2005-05-01 08:59:14 -07:00
input [PATCH] drivers/input/joystick/spaceorb.c: fix an array overflow 2005-05-01 08:59:30 -07:00
isdn [PATCH] make lots of things static 2005-05-01 08:59:29 -07:00
macintosh [PATCH] ppc32: Fix might_sleep() warning with clock spreading 2005-05-02 08:15:22 -07:00
mca Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
md [PATCH] Change synchronize_kernel to _rcu and _sched 2005-05-01 08:59:04 -07:00
media [PATCH] make lots of things static 2005-05-01 08:59:29 -07:00
message [PATCH] Convert i2o to compat_ioctl 2005-04-18 12:34:15 -05:00
misc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmc [PATCH] ISA DMA Kconfig fixes - part 3 2005-05-04 07:33:14 -07:00
mtd [PATCH] fix u32 vs. pm_message_t in drivers/mmc,mtd,scsi 2005-04-16 15:25:29 -07:00
net [PATCH] ISA DMA Kconfig fixes - part 4 (irda) 2005-05-04 07:33:14 -07:00
nubus Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oprofile [PATCH] oprofile trivial user annotations 2005-04-26 07:43:42 -07:00
parisc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport [PATCH] ISA_DMA Kconfig fixes - part 2 (parport_pc) 2005-05-04 07:33:13 -07:00
pci [PATCH] PCI: drivers/pci/pci.c: remove pci_dac_set_dma_mask 2005-05-03 23:45:17 -07:00
pcmcia [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
pnp [PATCH] drivers/pnp/pnpacpi/rsparser.c: fix an array overflow 2005-05-01 08:59:30 -07:00
s390 [PATCH] Change synchronize_kernel to _rcu and _sched 2005-05-01 08:59:04 -07:00
sbus [PATCH] mostek bogus sparse annotations fixed 2005-04-24 12:28:36 -07:00
scsi [PATCH] ISA DMA Kconfig fixes - part 3 2005-05-04 07:33:14 -07:00
serial [PATCH] make lots of things static 2005-05-01 08:59:29 -07:00
sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sn Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
telephony Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
usb [PATCH] USB cypress_m8: update kernel driver with current source 2005-05-03 23:31:52 -07:00
video [PATCH] i810fb: fix __initdata access 2005-05-04 07:50:15 -07:00
w1 [PATCH] w1_smem: w1 ID is only 8 bytes long. 2005-04-18 21:16:57 -07:00
zorro Linux-2.6.12-rc2 2005-04-16 15:20:36 -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