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 <[email protected]>
> ---
>  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

Reply via email to