Hi,
On 14-11-17 15:00, Hans de Goede wrote:
Just like all previous UAS capable Seagate disk enclosures, this
one needs a US_FL_NO_ATA_1X quirk.
Cc: stable@xxxxxxxxxxxxxxx # 3.16
Reported-by: Wido <wido.gg@xxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
So far we've been adding quirks for Seagate drives on a one by one
basis (I started this myself) hoping that one day they will fix
their ATA_1X pass-through support. But that does not seem to
be happening.
Maybe we need to do something like this instead ? :
--- a/drivers/usb/storage/uas-detect.h
+++ b/drivers/usb/storage/uas-detect.h
@@ -111,6 +111,10 @@ 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)
+ flags |= US_FL_NO_ATA_1X;
+
usb_stor_adjust_quirks(udev, &flags);
if (flags & US_FL_IGNORE_UAS) {
Then we can remove a whole lot of quirks and we avoid future
churn when new Seagate device ids show up.
Regards,
Hans
---
drivers/usb/storage/unusual_uas.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
index 2fe4fd336446..a1ddcbfb7323 100644
--- a/drivers/usb/storage/unusual_uas.h
+++ b/drivers/usb/storage/unusual_uas.h
@@ -114,6 +114,13 @@ UNUSUAL_DEV(0x0bc2, 0xab21, 0x0000, 0x9999,
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
US_FL_NO_ATA_1X),
+/* Reported-by: Wido <wido.gg@xxxxxxxxx> */
+UNUSUAL_DEV(0x0bc2, 0xab24, 0x0000, 0x9999,
+ "Seagate",
+ "BUP Slim BK",
+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+ US_FL_NO_ATA_1X),
+
/* Reported-by: G. Richard Bellamy <rbellamy@xxxxxxxxxxxxx> */
UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999,
"Seagate",