On Fri, 22 Aug 2003, David Brownell wrote: > Alan Stern wrote: > > On Thu, 21 Aug 2003, David Brownell wrote: > > > > > >>For OUT, it's an error if the controller sees more OUT bytes > >>than the queued request allows. The controller driver should > >>automatically stall, reporting -EOVERFLOW. > > > > > > Really? The USB 2.0 spec says (section 8.4.6.3): > > > > If the function cannot accept the data packet due to flow control > > reasons, it returns NAK. > > > > See also Table 8.6. There's nothing about STALLing in response to an > > unexpectedly large packet. > > It's not flow control; it's an error, the two sides disagreed on > the transfer size. STALL is fundamentally an error indicator. > > I can't read 8.4.6 as talking about control transfers, since it's > assuming a streamed transfer (bulk/interrupt/iso) and doesn't > include any cases where IN follows OUT (or vice versa). > > On the other hand, 8.5.3 is explicit about control transfers, and > says (bottom of p. 227) to send a STALL when the data stage is too > big (IN or OUT).
I'm with you. You're talking about sending a STALL in the status stage, whereas I was imagining sending a STALL handshake token in the data stage. Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel