Re: [PATCH scsi-misc-2.6 08/08] scsi: fix hot unplug sequence

James Bottomley
2005-03-25T00:54:50Z

On Wed, 2005-03-23 at 16:25 +0100, Jens Axboe wrote:
> Let me guess, it is hanging in wait_for_completion()?

Yes, I have the trace now. Why is curious. This is the trace of the
failure:

Mar 24 18:40:34 localhost kernel: usb 4-2: USB disconnect, address 3
Mar 24 18:40:34 localhost kernel: sd 0:0:0:0: CMD c25c98b0 done, completing
Mar 24 18:40:34 localhost kernel: 0:0:0:0: cmd c25c98b0 returning
Mar 24 18:40:34 localhost kernel: 0:0:0:0: cmd c25c98b0 going out <6>Read Capacity (10) 25 00 00 00 00 00 00 00 00 00
Mar 24 18:40:34 localhost kernel: scsi0 (0:0): rejecting I/O to dead device (req c25c98b0)
Mar 24 18:40:34 localhost kernel: usb 4-2: new full speed USB device using uhci_hcd and address 4
Mar 24 18:40:34 localhost kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Mar 24 18:40:34 localhost kernel: 1:0:0:0: cmd c1a1b4b0 going out <6>Inquiry 12 00 00 00 24 00

The problem occurs when the mid-layer rejects the I/O to the dead
device. Here it returns BLKPREP_KILL to the prep function, but after
that we never get a completion back.

I'll dig around in ll_rw_blk.c to see if I can trace the problem, but
you know this code better than I do ...

James