[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210519143613.GA1165692@rowland.harvard.edu>
Date: Wed, 19 May 2021 10:36:13 -0400
From: Alan Stern <stern@...land.harvard.edu>
To: dave penkler <dpenkler@...il.com>
Cc: Guido Kiener <Guido.Kiener@...de-schwarz.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
syzbot <syzbot+e2eae5639e7203360018@...kaller.appspotmail.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"lee.jones@...aro.org" <lee.jones@...aro.org>,
USB list <linux-usb@...r.kernel.org>,
"bp@...en8.de" <bp@...en8.de>,
"dwmw@...zon.co.uk" <dwmw@...zon.co.uk>,
"hpa@...or.com" <hpa@...or.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"luto@...nel.org" <luto@...nel.org>,
"mingo@...hat.com" <mingo@...hat.com>,
"syzkaller-bugs@...glegroups.com" <syzkaller-bugs@...glegroups.com>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"x86@...nel.org" <x86@...nel.org>
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@...land.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
Powered by blists - more mailing lists