Re: [BUG/PATCH] (Or I'm missing something) in hcd.h definition of Endpoint{out}Request

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

 



On Thu, 8 Jun 2017, Benjamin Herrenschmidt wrote:

> This looks wrong:
> 
> #define EndpointRequest \
> 	((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
> #define EndpointOutRequest \
> 	((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
> 
> Shouldn't it be USB_RECIP_ENDPOINT ?

Yes, indeed it should.  Looks like copy-and-paste errors.

> If I'm right, we had issues with some of the set/clear feature
> "len" on root hub, not that anybody noticed ... I'm using these
> definitions in the aspeed vhub though, and this breaks it, so
> in case I'm right:
> 
> Subject: [PATCH] usb/hcd: Fix definition of Endpoint{out}Request
> 
> The definition for these is incorrect. Thankfully the only user
> today is the root hub emulation code and only in corner cases
> that seem to have never hit anybody so far. My upcoming driver
> for the Aspeed virtual hub will rely on them being correct
> however.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> --
> 
> diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
> index 40edf6a..8a1552e 100644
> --- a/include/linux/usb/hcd.h
> +++ b/include/linux/usb/hcd.h
> @@ -561,9 +561,9 @@ extern void usb_ep0_reinit(struct usb_device *);
>         ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
>  
>  #define EndpointRequest \
> -       ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
> +       ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)<<8)
>  #define EndpointOutRequest \
> -       ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
> +       ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)<<8)
>  
>  /* class requests from the USB 2.0 hub spec, table 11-15 */
>  #define HUB_CLASS_REQ(dir, type, request) ((((dir) | (type)) << 8) |
> (request))

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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

  Powered by Linux