.. | .. |
---|
357 | 357 | |
---|
358 | 358 | /* Guillemot Hercules DJ Console audio card (BZ 208357) */ |
---|
359 | 359 | { USB_DEVICE(0x06f8, 0xb000), .driver_info = |
---|
360 | | - USB_QUIRK_ENDPOINT_BLACKLIST }, |
---|
| 360 | + USB_QUIRK_ENDPOINT_IGNORE }, |
---|
361 | 361 | |
---|
362 | 362 | /* Midiman M-Audio Keystation 88es */ |
---|
363 | 363 | { USB_DEVICE(0x0763, 0x0192), .driver_info = USB_QUIRK_RESET_RESUME }, |
---|
.. | .. |
---|
365 | 365 | /* SanDisk Ultra Fit and Ultra Flair */ |
---|
366 | 366 | { USB_DEVICE(0x0781, 0x5583), .driver_info = USB_QUIRK_NO_LPM }, |
---|
367 | 367 | { 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 }, |
---|
368 | 371 | |
---|
369 | 372 | /* M-Systems Flash Disk Pioneers */ |
---|
370 | 373 | { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, |
---|
.. | .. |
---|
379 | 382 | |
---|
380 | 383 | /* Sound Devices USBPre2 */ |
---|
381 | 384 | { USB_DEVICE(0x0926, 0x0202), .driver_info = |
---|
382 | | - USB_QUIRK_ENDPOINT_BLACKLIST }, |
---|
| 385 | + USB_QUIRK_ENDPOINT_IGNORE }, |
---|
383 | 386 | |
---|
384 | 387 | /* Sound Devices MixPre-D */ |
---|
385 | 388 | { USB_DEVICE(0x0926, 0x0208), .driver_info = |
---|
386 | | - USB_QUIRK_ENDPOINT_BLACKLIST }, |
---|
| 389 | + USB_QUIRK_ENDPOINT_IGNORE }, |
---|
387 | 390 | |
---|
388 | 391 | /* Keytouch QWERTY Panel keyboard */ |
---|
389 | 392 | { USB_DEVICE(0x0926, 0x3333), .driver_info = |
---|
.. | .. |
---|
391 | 394 | |
---|
392 | 395 | /* Kingston DataTraveler 3.0 */ |
---|
393 | 396 | { 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 }, |
---|
394 | 406 | |
---|
395 | 407 | /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */ |
---|
396 | 408 | { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF }, |
---|
.. | .. |
---|
408 | 420 | { USB_DEVICE(0x0b05, 0x17e0), .driver_info = |
---|
409 | 421 | USB_QUIRK_IGNORE_REMOTE_WAKEUP }, |
---|
410 | 422 | |
---|
| 423 | + /* Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)*/ |
---|
| 424 | + { USB_DEVICE(0x0bda, 0x0151), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, |
---|
| 425 | + |
---|
411 | 426 | /* Realtek hub in Dell WD19 (Type-C) */ |
---|
412 | 427 | { USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM }, |
---|
413 | 428 | { USB_DEVICE(0x0bda, 0x5487), .driver_info = USB_QUIRK_RESET_RESUME }, |
---|
.. | .. |
---|
424 | 439 | { USB_DEVICE(0x0c45, 0x7056), .driver_info = |
---|
425 | 440 | USB_QUIRK_IGNORE_REMOTE_WAKEUP }, |
---|
426 | 441 | |
---|
427 | | - /* MT7668 WIFI/BT */ |
---|
428 | | - { USB_DEVICE(0x0e8d, 0x7668), .driver_info = USB_QUIRK_NO_LPM }, |
---|
429 | | - |
---|
430 | 442 | /* Action Semiconductor flash disk */ |
---|
431 | 443 | { USB_DEVICE(0x10d6, 0x2200), .driver_info = |
---|
432 | 444 | USB_QUIRK_STRING_FETCH_255 }, |
---|
433 | 445 | |
---|
434 | 446 | /* novation SoundControl XL */ |
---|
435 | 447 | { 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 }, |
---|
436 | 452 | |
---|
437 | 453 | /* Huawei 4G LTE module */ |
---|
438 | 454 | { USB_DEVICE(0x12d1, 0x15bb), .driver_info = |
---|
.. | .. |
---|
446 | 462 | /* Razer - Razer Blade Keyboard */ |
---|
447 | 463 | { USB_DEVICE(0x1532, 0x0116), .driver_info = |
---|
448 | 464 | 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 }, |
---|
449 | 469 | |
---|
450 | 470 | /* Lenovo USB-C to Ethernet Adapter RTL8153-04 */ |
---|
451 | 471 | { USB_DEVICE(0x17ef, 0x720c), .driver_info = USB_QUIRK_NO_LPM }, |
---|
.. | .. |
---|
523 | 543 | /* DJI CineSSD */ |
---|
524 | 544 | { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, |
---|
525 | 545 | |
---|
| 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 | + |
---|
526 | 555 | /* INTEL VALUE SSD */ |
---|
527 | 556 | { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, |
---|
528 | 557 | |
---|
.. | .. |
---|
554 | 583 | }; |
---|
555 | 584 | |
---|
556 | 585 | /* |
---|
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. |
---|
559 | 588 | * |
---|
560 | | - * Matched for devices with USB_QUIRK_ENDPOINT_BLACKLIST. |
---|
| 589 | + * Matched for devices with USB_QUIRK_ENDPOINT_IGNORE. |
---|
561 | 590 | */ |
---|
562 | | -static const struct usb_device_id usb_endpoint_blacklist[] = { |
---|
| 591 | +static const struct usb_device_id usb_endpoint_ignore[] = { |
---|
563 | 592 | { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x01 }, |
---|
564 | 593 | { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x81 }, |
---|
565 | 594 | { USB_DEVICE_INTERFACE_NUMBER(0x0926, 0x0202, 1), .driver_info = 0x85 }, |
---|
.. | .. |
---|
567 | 596 | { } |
---|
568 | 597 | }; |
---|
569 | 598 | |
---|
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) |
---|
573 | 602 | { |
---|
574 | 603 | const struct usb_device_id *id; |
---|
575 | 604 | unsigned int address; |
---|
576 | 605 | |
---|
577 | | - for (id = usb_endpoint_blacklist; id->match_flags; ++id) { |
---|
| 606 | + for (id = usb_endpoint_ignore; id->match_flags; ++id) { |
---|
578 | 607 | if (!usb_match_device(udev, id)) |
---|
579 | 608 | continue; |
---|
580 | 609 | |
---|