[PATCH] usb: storage: de-quirk Seagate Expansion Portable Drive SRD00F1 [0bc2:2320]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Maciej Żenczykowski <maze@xxxxxxxxxx>

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@xxxxxxxxxxxxxxx>
Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Maciej Żenczykowski <zenczykowski@xxxxxxxxx>
---
 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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux