From: Maciej Żenczykowski <maze(a)google.com>
Since November 2017 commit 7fee72d5e8f1 ("uas: Always apply US_FL_NO_ATA_1X
quirk to Seagate devices"), the US_FL_NO_ATA_1X is always set for Seagate
devices, but it doesn't appear to be required - at least for this one
(based on internet searches, probably for a fair number more...).
ID 0bc2:2320 Seagate RSS LLC USB 3.0 bridge [Portable Expansion Drive]
Confirmed via:
smartctl -a /dev/sda
working fine with
modprobe usb_storage quirks=0bc2:2320:
on
5.19.11-1rodete1-amd64
Fixes: 7fee72d5e8f1 ("uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices")
Cc: stable <stable(a)vger.kernel.org>
Cc: Hans de Goede <hdegoede(a)redhat.com>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Maciej Żenczykowski <zenczykowski(a)gmail.com>
---
drivers/usb/storage/uas-detect.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/storage/uas-detect.h b/drivers/usb/storage/uas-detect.h
index 3f720faa6f97..74d65810f09a 100644
--- a/drivers/usb/storage/uas-detect.h
+++ b/drivers/usb/storage/uas-detect.h
@@ -112,8 +112,9 @@ static int uas_use_uas_driver(struct usb_interface *intf,
}
}
- /* All Seagate disk enclosures have broken ATA pass-through support */
- if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bc2)
+ /* Most Seagate disk enclosures have broken ATA pass-through support */
+ if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bc2 &&
+ le16_to_cpu(udev->descriptor.idProduct) != 0x2320)
flags |= US_FL_NO_ATA_1X;
usb_stor_adjust_quirks(udev, &flags);
--
2.39.0.314.g84b9a713c41-goog