Hi,
On 11/14/2017 04:25 PM, Alan Stern wrote:
On Tue, 14 Nov 2017, Hans de Goede wrote:
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.
That is a reasonable approach. For what it's worth, usb-storage has
had similar code for many years, affecting devices from Nokia, Nikon,
Pentax, and Motorola.
Ok.
Greg, please do no merge the 2 recent uas seagate quirks I send
then. I will submit a patch with the new approach right away.
Once the patch with the new approach is merged I will
submit a patch to remove all the seagate quirks.
Regards,
Hans