On Mon, 3 Aug 2009, Artur Skawina wrote: > > You are correct except for the term "indefinitely". The retries _will_ > > stop if you wait long enough. Unfortunately, because of all the nested > > retry loops in the SCSI drivers and at the application level, you may > > have to wait as long as half an hour. > > iirc, i had stalls _way_ longer than that, probably because the reads > eventually succeeded, only to stall on the next ones. > > > I agree that this should be fixed. But it is a SCSI issue, not a USB > > issue. You could try bringing it up on the linux-scsi mailing list. > > actually, the number of retries should probably be configurable, but i > wouldn't lower them by default; losing data because of recoverable errors > is bad. In this case the bridge may be at fault (by not passing along the > error), but to make a significant difference you'd have to reduce the number > of retries to something like zero, maybe one at most, and that's just too > low for a default. As I understand it, the SCSI and block layers conspire to keep retrying each command until a timeout expires, not until the number of retries reaches a limit. But the situation is complicated, because some kinds of retries reset the timer. And if the application repeats the I/O request then of course everything starts over again. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html