a flaw in the Bulk-only protocol. This should interest Pat LaVarre,
Yes, thank you, hi.
as you probably already realize, this falls under case (9) of your 13 cases.
Note clearly, sorry, I'm mostly lost for lack of context. I guess I think you're telling me we have some positive H corresponding to the length of "MODE SELECT (6)" data combined with D = 0. I agree Dn < Ho is case 9.
the host realizes from the CSW that
the command has failed, but it doesn't know that the bulk-out endpoint is
stalled since all the data was sent before the Halt feature got set.
At a glance, this sounds to me like device out of spec?
Per chapter 6, device may not stall Out pipe unless some packet of H was stalled, except to report a phase error.
No?
(As yet, I'm cheating, I haven't recalled the spec to appear before me ...)
The
next command (probably a REQUEST SENSE) will get an error because the CBW
transfer stalls.
Good.
This leaves the host with no way to determine the sense data.
Yah, phase error has no meaningful sense.
Although the protocol doesn't say what should happen next, it seems that the host's only option is to issue a class-specific device reset in response to the stall, and that will wipe out the sense information.
Yes.
So ultimately communication resumes, but the host has no idea what
happened to the command and why it got an error. It will probably retry
several times and then give up on the MODE SELECT.
Yes.
I suppose an alternative would be for the host to automatically do a
clear-halt on the bulk-out pipe whenever a command doing an OUT transfer
gets bCSWStatus = x01 and the pipe didn't stall during the data phase.
Yes, though not explictly discussed in the spec.
The Linux usb-storage driver doesn't do this because the protocol doesn't
say it's necessary. It could be added easily enough.
Yes, arguably ok per core spec, though I think you might be first to argue that arguable ok stuff that happens to differ from Windows does often doesn't work.
a flaw in the Bulk-only protocol
(: Mmmm, show me. :)
Pat LaVarre
------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
