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. Alan Stern