Here is a small patch...
--- linux-2.4.17.orig/drivers/usb/storage/transport.c Thu Feb 7 17:58:04 2002
+++ linux/drivers/usb/storage/transport.c Thu Feb 7 18:11:09 2002
@@ -1124,6 +1130,9 @@
if (result == -ENOENT)
return USB_STOR_TRANSPORT_ABORTED;
+ if (result == -ECONNRESET)
+ return USB_STOR_TRANSPORT_ABORTED;
+
/* did the attempt to read the CSW fail? */
if (result == -EPIPE) {
US_DEBUGP("clearing endpoint halt for pipe 0x%x\n", pipe);
to resolve a problem with a pending request as illustrated in the following
debug log:
# here a tranfer while intializing the storage device doesn't succeed...
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_transfer_partial(): xfer
255 bytes
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_bulk_msg: submit urb
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_bulk_msg: wait for
completion
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_blocking_completion
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_bulk_msg() returned 0
xferred 16/255
Feb 6 22:06:26 lupo kernel: usb-storage: Bulk data transfer result 0x1
# this CSW request never gets completed
Feb 6 22:06:26 lupo kernel: usb-storage: Attempting to get CSW...
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_bulk_msg: submit urb
Feb 6 22:06:26 lupo kernel: usb-storage: usb_stor_bulk_msg: wait for
completion
# 30 secs later command_abort invokes usb_unlink_usb,
# which returnes ECONNRESET
Feb 6 22:06:56 lupo kernel: usb-storage: command_abort() called
Feb 6 22:06:56 lupo kernel: usb-storage: usb_stor_blocking_completion
# ECONNRESET isn't handled as abort to invoke "complete(&(us->notify))"
# on the pending request later in the control thread
# the usb-storage module is "initializing" eternally
Feb 6 22:06:56 lupo kernel: usb-storage: Bulk status result = -104
Feb 6 22:06:56 lupo kernel: usb-storage: Bulk reset requested
Feb 6 22:07:02 lupo kernel: usb-storage: Bulk soft reset completed
Feb 6 22:07:02 lupo kernel: usb-storage: -- transport indicates transport
failure
Feb 6 22:07:02 lupo kernel: usb-storage: -- converting 10 byte sense data to
6 byte
Feb 6 22:07:02 lupo kernel: usb-storage: Command will be truncated to fit in
SENSE6 buffer.
Feb 6 22:07:02 lupo kernel: usb-storage: scsi cmd done, result=0x70000
Feb 6 22:07:02 lupo kernel: usb-storage: *** thread sleeping.
Feb 6 22:24:50 lupo -- MARK --
Wolfram.
--
Wolfram Diestel <[EMAIL PROTECTED]>
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel