forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
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 },
....@@ -424,15 +439,16 @@
424439 { USB_DEVICE(0x0c45, 0x7056), .driver_info =
425440 USB_QUIRK_IGNORE_REMOTE_WAKEUP },
426441
427
- /* MT7668 WIFI/BT */
428
- { USB_DEVICE(0x0e8d, 0x7668), .driver_info = USB_QUIRK_NO_LPM },
429
-
430442 /* Action Semiconductor flash disk */
431443 { USB_DEVICE(0x10d6, 0x2200), .driver_info =
432444 USB_QUIRK_STRING_FETCH_255 },
433445
434446 /* novation SoundControl XL */
435447 { USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME },
448
+
449
+ /* Focusrite Scarlett Solo USB */
450
+ { USB_DEVICE(0x1235, 0x8211), .driver_info =
451
+ USB_QUIRK_DISCONNECT_SUSPEND },
436452
437453 /* Huawei 4G LTE module */
438454 { USB_DEVICE(0x12d1, 0x15bb), .driver_info =
....@@ -446,6 +462,10 @@
446462 /* Razer - Razer Blade Keyboard */
447463 { USB_DEVICE(0x1532, 0x0116), .driver_info =
448464 USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL },
465
+
466
+ /* Lenovo ThinkPad OneLink+ Dock twin hub controllers (VIA Labs VL812) */
467
+ { USB_DEVICE(0x17ef, 0x1018), .driver_info = USB_QUIRK_RESET_RESUME },
468
+ { USB_DEVICE(0x17ef, 0x1019), .driver_info = USB_QUIRK_RESET_RESUME },
449469
450470 /* Lenovo USB-C to Ethernet Adapter RTL8153-04 */
451471 { USB_DEVICE(0x17ef, 0x720c), .driver_info = USB_QUIRK_NO_LPM },
....@@ -523,6 +543,15 @@
523543 /* DJI CineSSD */
524544 { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
525545
546
+ /* Alcor Link AK9563 SC Reader used in 2022 Lenovo ThinkPads */
547
+ { USB_DEVICE(0x2ce3, 0x9563), .driver_info = USB_QUIRK_NO_LPM },
548
+
549
+ /* DELL USB GEN2 */
550
+ { USB_DEVICE(0x413c, 0xb062), .driver_info = USB_QUIRK_NO_LPM | USB_QUIRK_RESET_RESUME },
551
+
552
+ /* VCOM device */
553
+ { USB_DEVICE(0x4296, 0x7570), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS },
554
+
526555 /* INTEL VALUE SSD */
527556 { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
528557
....@@ -554,12 +583,12 @@
554583 };
555584
556585 /*
557
- * Entries for blacklisted endpoints that should be ignored when parsing
558
- * configuration descriptors.
586
+ * Entries for endpoints that should be ignored when parsing configuration
587
+ * descriptors.
559588 *
560
- * Matched for devices with USB_QUIRK_ENDPOINT_BLACKLIST.
589
+ * Matched for devices with USB_QUIRK_ENDPOINT_IGNORE.
561590 */
562
-static const struct usb_device_id usb_endpoint_blacklist[] = {
591
+static const struct usb_device_id usb_endpoint_ignore[] = {
563592 { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x01 },
564593 { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x81 },
565594 { USB_DEVICE_INTERFACE_NUMBER(0x0926, 0x0202, 1), .driver_info = 0x85 },
....@@ -567,14 +596,14 @@
567596 { }
568597 };
569598
570
-bool usb_endpoint_is_blacklisted(struct usb_device *udev,
571
- struct usb_host_interface *intf,
572
- struct usb_endpoint_descriptor *epd)
599
+bool usb_endpoint_is_ignored(struct usb_device *udev,
600
+ struct usb_host_interface *intf,
601
+ struct usb_endpoint_descriptor *epd)
573602 {
574603 const struct usb_device_id *id;
575604 unsigned int address;
576605
577
- for (id = usb_endpoint_blacklist; id->match_flags; ++id) {
606
+ for (id = usb_endpoint_ignore; id->match_flags; ++id) {
578607 if (!usb_match_device(udev, id))
579608 continue;
580609