Messages in this thread Patch in this message |  | | From | Itai Nahshon <> | Subject | Re: Linux 2.4.20-pre4-ac2 | Date | Tue, 27 Aug 2002 02:01:53 +0300 |
| |
On Monday 26 August 2002 13:35 pm, Alan Cox wrote: > o Error handling clean ups for USB storage (Pete Zaitcev)
While USB-storage error handling is looked at...
--- linux-2.4.20-pre4-ac2-i2/drivers/usb/storage/transport.c.orig Mon Aug 26 23:24:09 2002 +++ linux-2.4.20-pre4-ac2-i2/drivers/usb/storage/transport.c Mon Aug 26 23:24:53 2002 @@ -1164,6 +1164,10 @@ ret = USB_STOR_TRANSPORT_ABORTED; goto out; } + if (result == US_BULK_TRANSFER_FAILED) { + ret = USB_STOR_TRANSPORT_FAILED; + goto out; + } } }
There's a check for US_BULK_TRANSFER_FAILED after a call to usb_stor_transfer everywhere except here... Is it for a reason? Backround: A long time ago (linux-2.4.19-pre4-ac2) I got a USB disk related hang (all processes accessing it stuck in state D). It happened while reading from a USB-storage device (disk attached to a USB-IDE bridge).
The system log has just these two errors: usb-uhci.c: interrupt, status 3, frame# 1660 usb_control/bulk_msg: timeout
That problem happened only once. I had to reboot in order to continue use the device.
Is it possible that the missing check is the cause for that hang?
-- Itai
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |