uas: Set max_sectors_240 quirk for ASM1053 devices

Testing has shown that ASM1053 devices do not work properly with transfers
larger than 240 sectors, so set max_sectors to 240 on these.

Cc: stable@vger.kernel.org # 3.16
Reported-by: Steve Bangert <sbangert@frontier.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Steve Bangert <sbangert@frontier.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Hans de Goede 2015-04-21 11:20:32 +02:00 committed by Greg Kroah-Hartman
parent ee136af4a0
commit 8e779c6c4a

View File

@ -74,7 +74,7 @@ static int uas_use_uas_driver(struct usb_interface *intf,
* this writing the following versions exist: * this writing the following versions exist:
* ASM1051 - no uas support version * ASM1051 - no uas support version
* ASM1051 - with broken (*) uas support * ASM1051 - with broken (*) uas support
* ASM1053 - with working uas support * ASM1053 - with working uas support, but problems with large xfers
* ASM1153 - with working uas support * ASM1153 - with working uas support
* *
* Devices with these chips re-use a number of device-ids over the * Devices with these chips re-use a number of device-ids over the
@ -104,6 +104,9 @@ static int uas_use_uas_driver(struct usb_interface *intf,
} else if (usb_ss_max_streams(&eps[1]->ss_ep_comp) == 32) { } else if (usb_ss_max_streams(&eps[1]->ss_ep_comp) == 32) {
/* Possibly an ASM1051, disable uas */ /* Possibly an ASM1051, disable uas */
flags |= US_FL_IGNORE_UAS; flags |= US_FL_IGNORE_UAS;
} else {
/* ASM1053, these have issues with large transfers */
flags |= US_FL_MAX_SECTORS_240;
} }
} }