usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
commitdbd24ec17bupstream. 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:
parent
e92c700591
commit
a9f2658a01
2 changed files with 13 additions and 7 deletions
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue