All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] usb: xhci: Fix vendor command error if the request type is USB_REQ_SET_ADDRESS or USB_REQ_SET_CONFIGURATION.
Date: Mon, 25 Jan 2016 21:53:54 +0100	[thread overview]
Message-ID: <201601252153.55088.marex@denx.de> (raw)
In-Reply-To: <9433229CFF3E1848B20B3173199454BA056613D8@RTITMBSV06.realtek.com.tw>

On Monday, January 25, 2016 at 12:11:59 PM, Ted wrote:
> Hi Marek,

Hi Ted,

> > -----Original Message-----
> > From: Marek Vasut [mailto:marex at denx.de]
> > Sent: Thursday, November 26, 2015 9:25 AM
> > To: Ted
> > Cc: swarren at nvidia.com; u-boot at lists.denx.de;
> > linux.amoon at gmail.com; Hans de Goede
> > Subject: Re: [PATCH] usb: xhci: Fix vendor command error if
> > the request type is USB_REQ_SET_ADDRESS or USB_REQ_SET_CONFIGURATION.
> > 
> > On Wednesday, November 25, 2015 at 06:57:48 AM, Ted Chen wrote:
> > > Add a condition of set_address and set_configuration to
> > 
> > check if the
> > 
> > > request is standardized.
> > > 
> > > Signed-off-by: Ted Chen <tedchen@realtek.com>
> > > ---
> > > 
> > >  drivers/usb/host/xhci.c |    6 ++++--
> > >  1 file changed, 4 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/usb/host/xhci.c
> > 
> > b/drivers/usb/host/xhci.c index
> > 
> > > ca598aa..cb8a04b 100644
> > > --- a/drivers/usb/host/xhci.c
> > > +++ b/drivers/usb/host/xhci.c
> > > @@ -941,10 +941,12 @@ static int _xhci_submit_control_msg(struct
> > > usb_device *udev, unsigned long pipe, if
> > 
> > (usb_pipedevice(pipe) == ctrl->rootdev)
> > 
> > >  		return xhci_submit_root(udev, pipe, buffer, setup);
> > 
> > Hi!
> > What do you say we reorder the check a little:
> > 
> > if ((setup->requesttype & USB_TYPE_MASK) == USB_TYPE_STANDARD) {
> > 
> > 	if (setup->request == USB_REQ_SET_ADDRESS)
> > 	
> > 		return xhci_address_device(udev, root_portnr);
> > 	
> > 	if (setup->request == USB_REQ_SET_CONFIGURATION)
> > 	
> > 		...
> > 
> > }
> > 
> > Also, I suspect this sort of fix needs to be applied to at
> > least dwc3 ep0.c, r8a66597-hcd.c and musb_hcd.c as well.
> 
> I don't have another board in my hand, so I can't verify the other xhci
> host controller.

That's fine, just fixing this problem everywhere is enough and the people
who have the controller can test it themselves.

> But I have confirmed this patch in xhci.c actually can fix errors while 
> the the request type is USB_REQ_SET_ADDRESS or USB_REQ_SET_CONFIGURATION
> in USB vendor command.

Excellent.

> > Paging Hans so he can share his visdom too :)
> 
> Hi Hans,
> 
> Do you have any comments?
> 
> Thanks

Thanks!

> > > -	if (setup->request == USB_REQ_SET_ADDRESS)
> > > +	if (setup->request == USB_REQ_SET_ADDRESS &&
> > > +	   (setup->requesttype & USB_TYPE_MASK) == USB_TYPE_STANDARD)
> > > 
> > >  		return xhci_address_device(udev, root_portnr);
> > > 
> > > -	if (setup->request == USB_REQ_SET_CONFIGURATION) {
> > > +	if (setup->request == USB_REQ_SET_CONFIGURATION &&
> > > +	   (setup->requesttype & USB_TYPE_MASK) == USB_TYPE_STANDARD) {
> > > 
> > >  		ret = xhci_set_configuration(udev);
> > >  		if (ret) {
> > >  		
> > >  			puts("Failed to configure xHCI endpoint\n");
> > 
> > Best regards,
> > Marek Vasut
> > 
> > ------Please consider the environment before printing this e-mail.

      reply	other threads:[~2016-01-25 20:53 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25  5:57 [U-Boot] [PATCH] usb: xhci: Fix vendor command error if the request type is USB_REQ_SET_ADDRESS or USB_REQ_SET_CONFIGURATION Ted Chen
2015-11-25  5:57 ` Ted Chen
2015-11-25  9:09   ` Anand Moon
2015-12-07  8:16     ` Joe Culler
2015-12-07  8:31       ` Joe Culler
2015-11-26  1:24 ` Marek Vasut
2016-01-25 11:11   ` Ted
2016-01-25 20:53     ` Marek Vasut [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201601252153.55088.marex@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.