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

From: Alan Stern
Date: Mon Sep 23 2019 - 11:01:17 EST


On Mon, 23 Sep 2019, 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.
>
> 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
> + */
> + if ((udev->descriptor.idVendor == 0x1a0a)
> + && (udev->descriptor.idProduct == 0x0201)) {
> + dev_err(&udev->dev, "This device is not supported: idVendor=0x%x idProduct=0x%x\n",
> + udev->descriptor.idVendor,
> + udev->descriptor.idProduct);

There's no need to write out the Vendor and Product IDs. They already
appear in the "New device" message.

> + goto done;
> + }
> +
> if (udev->quirks & USB_QUIRK_DELAY_INIT)
> msleep(2000);

Shouldn't this be implemented as a device quirk?

Alan Stern