Messages in this thread | | | Date | Wed, 19 May 2021 10:36:13 -0400 | From | Alan Stern <> | Subject | Re: Re: Re: Re: Re: [syzbot] INFO: rcu detected stall in tx |
| |
On Wed, May 19, 2021 at 10:48:29AM +0200, dave penkler wrote: > On Sat, 8 May 2021 at 16:29, Alan Stern <stern@rowland.harvard.edu> wrote: > > > > On Sat, May 08, 2021 at 10:14:41AM +0200, dave penkler wrote: > > > When the host driver detects a protocol error while processing an URB > > > it completes the URB with EPROTO status and marks the endpoint as > > > halted. > > > > Not true. It does not mark the endpoint as halted, not unless it > > receives a STALL handshake from the device. A STALL is not a protocol > > error. > > > > > When the class driver resubmits the URB and the if the host driver > > > finds the endpoint still marked as halted it should return EPIPE > > > status on the resubmitted URB > > > > Irrelevant. > Not at all. The point is that when an application is talking to an > instrument over the usbtmc driver, the underlying host controller and > its driver will detect and silence a babbling endpoint.
No, they won't. That is, they will detect a babble error and return an error status, but they won't silence the endpoint. What makes you think they will?
> Hence no EPROTO loop will ensue in this case and therefore no changes > are needed in usbtmc.
Since this conclusion relies on the incorrect assumption above, it also is incorrect.
Alan Stern
| |