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

From: Ran Wang
Date: Mon Sep 23 2019 - 06:49:46 EST


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);
+ goto done;
+ }
+
if (udev->quirks & USB_QUIRK_DELAY_INIT)
msleep(2000);

--
2.7.4