linux/drivers/block
Pete Zaitcev b31f821c6d [PATCH] USB: ub 04 Loss of timer and a hang
If SCSI commands are submitted while other commands are still processed,
the dispatch loop turns, and we stop the work_timer. Then, if URB fails
to complete, ub hangs until the device is unplugged.

This does not happen often, becase we only allow one SCSI command per
block device, but does happen (on multi-LUN devices, for example).

The fix is to stop timer only when we actually going to change the state.

The nicest code would be to have the timer stopped in URB callback, but
this is impossible, because it can be called from inside a timer, through
the urb_unlink. Then we get BUG in timer.c:cascade(). So, we do it a
little dirtier.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-31 17:23:36 -08:00
..
aoe [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
paride [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
acsi_slm.c [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
acsi.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
amiflop.c [PATCH] m68k: kill mach_floppy_setup, convert to proper __setup() in drivers 2006-01-12 09:09:05 -08:00
ataflop.c [PATCH] m68k: kill mach_floppy_setup, convert to proper __setup() in drivers 2006-01-12 09:09:05 -08:00
cciss_cmd.h [PATCH] cciss: direct lookup for command completions 2005-09-13 08:22:30 -07:00
cciss_scsi.c [PATCH] cciss: adds MSI and MSI-X support 2006-01-08 20:14:00 -08:00
cciss_scsi.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss.c [PATCH] drivers/block: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:22 -08:00
cciss.h [PATCH] cciss: avoid defining useless MAJOR_NR macro 2006-01-08 20:14:09 -08:00
cpqarray.c [PATCH] drivers/block: Use ARRAY_SIZE macro 2006-01-08 20:14:08 -08:00
cpqarray.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cryptoloop.c [CRYPTO]: Use CRYPTO_TFM_REQ_MAY_SLEEP where appropriate 2005-09-01 17:43:25 -07:00
DAC960.c [PATCH] drivers/block: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:22 -08:00
DAC960.h [PATCH] DAC960: add support for Mylex AcceleRAID 4/5/600 2005-05-05 16:36:43 -07:00
floppy.c remove unused LOCAL_END_REQUEST 2006-01-15 02:20:28 +01:00
ida_cmd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ida_ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig [PATCH] parport: Kconfig dependency fixes 2006-01-06 08:33:57 -08:00
loop.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
Makefile [BLOCK] Move all core block layer code to new block/ directory 2005-11-04 08:43:35 +01:00
nbd.c [PATCH] nbd: remove duplicate assignment 2006-01-08 20:13:54 -08:00
pktcdvd.c [PATCH] pktcdvd: un-inline some functions 2006-01-14 18:27:16 -08:00
ps2esdi.c [PATCH] Fix drivers/block/ps2esdi.c compile 2006-01-16 20:24:45 -08:00
rd.c [PATCH] add AOP_TRUNCATED_PAGE, prepend AOP_ to WRITEPAGE_ACTIVATE 2006-01-03 11:45:42 -08:00
smart1,2.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
swim3.c [PATCH] powerpc: Remove device_node addrs/n_addr 2006-01-09 14:53:55 +11:00
swim_iop.c [PATCH] drivers/block: fix-up schedule_timeout() usage 2005-09-10 10:06:38 -07:00
sx8.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
ub.c [PATCH] USB: ub 04 Loss of timer and a hang 2006-01-31 17:23:36 -08:00
umem.c [PATCH] drivers/block: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:22 -08:00
viodasd.c [PATCH] powerpc: remove bitfields from HvLpEvent 2006-01-12 20:09:29 +11:00
xd.c [PATCH] drivers/block: Use ARRAY_SIZE macro 2006-01-08 20:14:08 -08:00
xd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
z2ram.c [PATCH] vfree and kfree cleanup in drivers/ 2005-09-10 10:06:30 -07:00