RE: [RFCv1 1/1] USB: EHCI: Do not return -EPIPE when hub is disconnected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Sent: keskiviikko 4. joulukuuta 2019 16.24
> To: Erkka Talvitie <erkka.talvitie@xxxxxxxxx>
> Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx;
> claus.baumgartner@xxxxxxxxxx
> Subject: RE: [RFCv1 1/1] USB: EHCI: Do not return -EPIPE when hub is
> disconnected
> 
> On Wed, 4 Dec 2019, Erkka Talvitie wrote:
> 
> > > > So if CERR == EHCI_TUNE_CERR and the QTD_PID != 1 (not IN) then we
> > > > should return -EPIPE, as the existing code does.  But if QTD_PID
> > > > == 1 then the code should continue, as your patch does -- with one
> > > > difference: Put the additional check for EHCI_TUNE_CERR between
> > > > the tests for DBE and XACT instead of after XACT (because XACT
> > > > would decrement CERR whereas DBE wouldn't).
> > >
> > > Good point, I agree.
> > >
> > > >
> > > > Can you make that change and test it?
> > >
> > > Sure, I have made the change and test it as soon as possible.
> >
> > I am not actually totally sure if I understood you correctly, but I
tested a
> change where the first stall check is like this (PID_CODE_IN is defined as
1):
> >
> > -               } else if (QTD_CERR(token)) {
> > +               } else if (QTD_CERR(token) && (QTD_PID (token) !=
> > + PID_CODE_IN)) {
> >                         status = -EPIPE;
> >
> > And the second stall check (now between DBE and XACT):
> > +               } else if (QTD_CERR(token)) {
> > +                       status = -EPIPE;
> >
> > Is this what you meant? Please correct me if I am wrong.
> 
> Actually, what I meant for the first part was:
> 
> 		} else if (QTD_CERR(token) &&
> 				(QTD_CERR(token)
> < EHCI_TUNE_CERR ||
> 				 QTD_PID(token) !=
> PID_CODE_IN)) {

Ok, now I understand the change. Good.

> 
> And of course there should be a comment before this line, explaining what
it
> does.  By the way, the accepted format for multi-line comments
> is:
> 
> 		/*
> 		 * Blah blah blah
> 		 * Blah blah blah
> 		 */
> 

Thanks for the information. I noticed that my comments were different than
the existing ones in the file and I was already about to change my comments
to match the existing style.

> The second part of the patch looks okay (but again, with a comment).

Yes, I will add the comment here also.

> 
> > Anyways with these changes the issue does not reproduce.
> 
> Very good.

I will do the changes and re-test.

> 
> Alan Stern

Erkka Talvitie




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux