forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/usb/core/quirks.c
....@@ -357,7 +357,7 @@
357357
358358 /* Guillemot Hercules DJ Console audio card (BZ 208357) */
359359 { USB_DEVICE(0x06f8, 0xb000), .driver_info =
360
- USB_QUIRK_ENDPOINT_BLACKLIST },
360
+ USB_QUIRK_ENDPOINT_IGNORE },
361361
362362 /* Midiman M-Audio Keystation 88es */
363363 { USB_DEVICE(0x0763, 0x0192), .driver_info = USB_QUIRK_RESET_RESUME },
....@@ -365,6 +365,9 @@
365365 /* SanDisk Ultra Fit and Ultra Flair */
366366 { USB_DEVICE(0x0781, 0x5583), .driver_info = USB_QUIRK_NO_LPM },
367367 { USB_DEVICE(0x0781, 0x5591), .driver_info = USB_QUIRK_NO_LPM },
368
+
369
+ /* Realforce 87U Keyboard */
370
+ { USB_DEVICE(0x0853, 0x011b), .driver_info = USB_QUIRK_NO_LPM },
368371
369372 /* M-Systems Flash Disk Pioneers */
370373 { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
....@@ -379,11 +382,11 @@
379382
380383 /* Sound Devices USBPre2 */
381384 { USB_DEVICE(0x0926, 0x0202), .driver_info =
382
- USB_QUIRK_ENDPOINT_BLACKLIST },
385
+ USB_QUIRK_ENDPOINT_IGNORE },
383386
384387 /* Sound Devices MixPre-D */
385388 { USB_DEVICE(0x0926, 0x0208), .driver_info =
386
- USB_QUIRK_ENDPOINT_BLACKLIST },
389
+ USB_QUIRK_ENDPOINT_IGNORE },
387390
388391 /* Keytouch QWERTY Panel keyboard */
389392 { USB_DEVICE(0x0926, 0x3333), .driver_info =
....@@ -391,6 +394,15 @@
391394
392395 /* Kingston DataTraveler 3.0 */
393396 { USB_DEVICE(0x0951, 0x1666), .driver_info = USB_QUIRK_NO_LPM },
397
+
398
+ /* NVIDIA Jetson devices in Force Recovery mode */
399
+ { USB_DEVICE(0x0955, 0x7018), .driver_info = USB_QUIRK_RESET_RESUME },
400
+ { USB_DEVICE(0x0955, 0x7019), .driver_info = USB_QUIRK_RESET_RESUME },
401
+ { USB_DEVICE(0x0955, 0x7418), .driver_info = USB_QUIRK_RESET_RESUME },
402
+ { USB_DEVICE(0x0955, 0x7721), .driver_info = USB_QUIRK_RESET_RESUME },
403
+ { USB_DEVICE(0x0955, 0x7c18), .driver_info = USB_QUIRK_RESET_RESUME },
404
+ { USB_DEVICE(0x0955, 0x7e19), .driver_info = USB_QUIRK_RESET_RESUME },
405
+ { USB_DEVICE(0x0955, 0x7f21), .driver_info = USB_QUIRK_RESET_RESUME },
394406
395407 /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
396408 { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
....@@ -408,6 +420,9 @@
408420 { USB_DEVICE(0x0b05, 0x17e0), .driver_info =
409421 USB_QUIRK_IGNORE_REMOTE_WAKEUP },
410422
423
+ /* Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)*/
424
+ { USB_DEVICE(0x0bda, 0x0151), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS },
425
+
411426 /* Realtek hub in Dell WD19 (Type-C) */
412427 { USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM },
413428 { USB_DEVICE(0x0bda, 0x5487), .driver_info = USB_QUIRK_RESET_RESUME },
....@@ -423,9 +438,6 @@
423438 /* SONiX USB DEVICE Touchpad */
424439 { USB_DEVICE(0x0c45, 0x7056), .driver_info =
425440 USB_QUIRK_IGNORE_REMOTE_WAKEUP },
426
-
427
- /* MT7668 WIFI/BT */
428
- { USB_DEVICE(0x0e8d, 0x7668), .driver_info = USB_QUIRK_NO_LPM },
429441
430442 /* Action Semiconductor flash disk */
431443 { USB_DEVICE(0x10d6, 0x2200), .driver_info =
....@@ -446,6 +458,10 @@
446458 /* Razer - Razer Blade Keyboard */
447459 { USB_DEVICE(0x1532, 0x0116), .driver_info =
448460 USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL },
461
+
462
+ /* Lenovo ThinkPad OneLink+ Dock twin hub controllers (VIA Labs VL812) */
463
+ { USB_DEVICE(0x17ef, 0x1018), .driver_info = USB_QUIRK_RESET_RESUME },
464
+ { USB_DEVICE(0x17ef, 0x1019), .driver_info = USB_QUIRK_RESET_RESUME },
449465
450466 /* Lenovo USB-C to Ethernet Adapter RTL8153-04 */
451467 { USB_DEVICE(0x17ef, 0x720c), .driver_info = USB_QUIRK_NO_LPM },
....@@ -523,6 +539,12 @@
523539 /* DJI CineSSD */
524540 { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
525541
542
+ /* DELL USB GEN2 */
543
+ { USB_DEVICE(0x413c, 0xb062), .driver_info = USB_QUIRK_NO_LPM | USB_QUIRK_RESET_RESUME },
544
+
545
+ /* VCOM device */
546
+ { USB_DEVICE(0x4296, 0x7570), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS },
547
+
526548 /* INTEL VALUE SSD */
527549 { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
528550
....@@ -554,12 +576,12 @@
554576 };
555577
556578 /*
557
- * Entries for blacklisted endpoints that should be ignored when parsing
558
- * configuration descriptors.
579
+ * Entries for endpoints that should be ignored when parsing configuration
580
+ * descriptors.
559581 *
560
- * Matched for devices with USB_QUIRK_ENDPOINT_BLACKLIST.
582
+ * Matched for devices with USB_QUIRK_ENDPOINT_IGNORE.
561583 */
562
-static const struct usb_device_id usb_endpoint_blacklist[] = {
584
+static const struct usb_device_id usb_endpoint_ignore[] = {
563585 { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x01 },
564586 { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x81 },
565587 { USB_DEVICE_INTERFACE_NUMBER(0x0926, 0x0202, 1), .driver_info = 0x85 },
....@@ -567,14 +589,14 @@
567589 { }
568590 };
569591
570
-bool usb_endpoint_is_blacklisted(struct usb_device *udev,
571
- struct usb_host_interface *intf,
572
- struct usb_endpoint_descriptor *epd)
592
+bool usb_endpoint_is_ignored(struct usb_device *udev,
593
+ struct usb_host_interface *intf,
594
+ struct usb_endpoint_descriptor *epd)
573595 {
574596 const struct usb_device_id *id;
575597 unsigned int address;
576598
577
- for (id = usb_endpoint_blacklist; id->match_flags; ++id) {
599
+ for (id = usb_endpoint_ignore; id->match_flags; ++id) {
578600 if (!usb_match_device(udev, id))
579601 continue;
580602