Re: [PATCH] usb: hub add filter for device with specific VID&PID

From: Greg Kroah-Hartman
Date: Mon Sep 23 2019 - 07:07:17 EST


On Mon, Sep 23, 2019 at 06:51:02PM +0800, Ran Wang wrote:
> USB 2.0 Embedded Host PET Automated Test (CH6) 6.7.23 A-UUT "Unsupported
> Device" Message require to stop enumerating device with VID=0x1a0a PID=0x0201
> and pop message to declare this device is not supported.

Why is this a requirement?

And why those specific vid/pid values? What do they refer to?

>
> Signed-off-by: Ran Wang <ran.wang_1@xxxxxxx>
> ---
> drivers/usb/core/hub.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index bbcfa63..3cda0da 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -4982,6 +4982,18 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus,
> if (status < 0)
> goto loop;
>
> + /* USB 2.0 Embedded Host PET Automated Test (CH6)
> + * 6.7.23 A-UUT "Unsupported Device" Message
> + * require to filter out below device when enumeration
> + */

Nit, can you align your comment lines, to match the other multi-line
comments in this file? Otherwise it starts to look bad over time.



> + if ((udev->descriptor.idVendor == 0x1a0a)
> + && (udev->descriptor.idProduct == 0x0201)) {

Are you sure you don't have to convert this value into cpu endian before
checking it?

thanks,

greg k-h