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@vger.kernel.org # 3.16 Reported-by: Wido wido.gg@gmail.com Signed-off-by: Hans de Goede hdegoede@redhat.com
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@gmail.com */ +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@pteradigm.com */ UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999, "Seagate",