Pat, Thank you for digging into the USB mass storage spec. I have a limited view as I am focused on trying to figure out how to twiddle bits at the hardware level and don't understand the bigger picture yet.
> 6.7.3.2.b.i.1 says "The device shall either accept a total of > dCBWDataTransferLength, or end the transfer prematurely by STALLing the > Bulk-Out pipe." Given the above requirement and the fact that the UDC driver doesn't know anything about dCBWDataTransferLength, it seems that file_storage.c will have to handle complying with the requirement. In this case it might be easier for file_storage.c to recover by accepting all dCBWDataTransferLength instead of stalling. Todd > -----Original Message----- > From: Pat LaVarre [mailto:[EMAIL PROTECTED] > Sent: Friday, July 16, 2004 3:41 PM > To: Pat LaVarre > Cc: Todd Fischer; Alan Stern; Diego A. Dompe Gamboa; USB development > list; David Brownell > Subject: Re: [linux-usb-devel] file_storage.c stalling the out bulk > endpoint ,but not clearing the stall > > > > 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 > > ...) > > Awww nuts I may be going offline now too long for me to happily leave > this chit chat paused here. > > Ok. I've found a local copy of usbmassbulk_10.pdf > > There I see: > > 6.7.3.2.b.i.1 says "The device shall either accept a total of > dCBWDataTransferLength, or end the transfer prematurely by STALLing the > Bulk-Out pipe." > > Is that English not clear? > > I think that English is supposed to mean, the device shall not STALL > the OUT pipe after the last ACK of OUT, given a CBW that says Ho. By > "last ACK" of course we mean the ACK of the ((Ho+maxPacket - 1) / > maxPacket)'th packet. > > Reading the rest of 6.7.3 tells me that also the device shall not STALL > the OUT pipe even to report a phase error. When I was speaking wrongly > before, I was confusing the always-allowed STALL of IN to report phase > error with a STALL of OUT, sorry. > > Certainly I agree that a STALL of OUT after the last ACK will appear to > the host as a STALL of CBW. That will look to the host as if the > device saw the CBW as not "valid" or not "meaningful", and life will go > downhill from there. > > > a flaw in the Bulk-only protocol > > (: Mmmm, show me. :) > > Meanwhile I will here now renew my solicitation of volunteers to help > write a rationale for that .pdf that would make that .pdf less > difficult to read accurately, and I thank you again for including me in > this interesting thread. > > *"Pat LaVarre" = x50 BBB ------------------------------------------------------- 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