usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
commitdbd24ec17b
upstream. The commite00b488e81
("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS") blacklists UAS for all of RTL9210 enclosures. The RTL9210 controller was advertised with UAS since its release back in 2019 and was shipped with a lot of enclosure products with different firmware combinations. Blacklist UAS only for HIKSEMI MD202. This should hopefully be replaced with more robust method than just comparing strings. But with limited information [1] provided thus far (dmesg when the device is plugged in, which includes manufacturer and product, but no lsusb -v to compare against), this is the best we can do for now. [1] https://lore.kernel.org/all/20230109115550.71688-1-qkrwngud825@gmail.com Fixes:e00b488e81
("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS") Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Hongling Zeng <zenghongling@kylinos.cn> Cc: stable@vger.kernel.org Signed-off-by: Juhyung Park <qkrwngud825@gmail.com> Acked-by: Oliver Neukum <oneukum@suse.com> Link: https://lore.kernel.org/r/20230117085154.123301-1-qkrwngud825@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
a69c8dfb85
Коммит
78aa45bb7a
|
@ -116,6 +116,19 @@ static int uas_use_uas_driver(struct usb_interface *intf,
|
|||
if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bc2)
|
||||
flags |= US_FL_NO_ATA_1X;
|
||||
|
||||
/*
|
||||
* RTL9210-based enclosure from HIKSEMI, MD202 reportedly have issues
|
||||
* with UAS. This isn't distinguishable with just idVendor and
|
||||
* idProduct, use manufacturer and product too.
|
||||
*
|
||||
* Reported-by: Hongling Zeng <zenghongling@kylinos.cn>
|
||||
*/
|
||||
if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bda &&
|
||||
le16_to_cpu(udev->descriptor.idProduct) == 0x9210 &&
|
||||
(udev->manufacturer && !strcmp(udev->manufacturer, "HIKSEMI")) &&
|
||||
(udev->product && !strcmp(udev->product, "MD202")))
|
||||
flags |= US_FL_IGNORE_UAS;
|
||||
|
||||
usb_stor_adjust_quirks(udev, &flags);
|
||||
|
||||
if (flags & US_FL_IGNORE_UAS) {
|
||||
|
|
|
@ -83,13 +83,6 @@ UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
|
|||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_NO_REPORT_LUNS),
|
||||
|
||||
/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
|
||||
UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
|
||||
"Hiksemi",
|
||||
"External HDD",
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_IGNORE_UAS),
|
||||
|
||||
/* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
|
||||
UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
|
||||
"Initio Corporation",
|
||||
|
|
Загрузка…
Ссылка в новой задаче