|
|
c6806e8 |
From 86da2d12cf6f76b1fa487f7acf3995f058a2e516 Mon Sep 17 00:00:00 2001
|
|
|
c6806e8 |
From: Hans de Goede <hdegoede@redhat.com>
|
|
|
c6806e8 |
Date: Fri, 1 Aug 2014 17:27:49 +0200
|
|
|
c6806e8 |
Subject: [PATCH v2 1/2] uas: Limit qdepth to 32 when connected over usb-2
|
|
|
c6806e8 |
|
|
|
c6806e8 |
Some jmicron uas chipsets act up (they disconnect from the bus) when sending
|
|
|
c6806e8 |
more then 32 commands to them at once.
|
|
|
c6806e8 |
|
|
|
c6806e8 |
Rather then building an ever growing list with usb-id based quirks for
|
|
|
c6806e8 |
devices using this chipset, simply reduce the qdepth to 32 when connected
|
|
|
c6806e8 |
over usb-2. 32 should be plenty to keep things close to maximum
|
|
|
c6806e8 |
possible throughput on usb-2.
|
|
|
c6806e8 |
|
|
|
c6806e8 |
Cc: stable@vger.kernel.org
|
|
|
c6806e8 |
Tested-and-reported-by: Laszlo T. <tlacix@gmail.com>
|
|
|
c6806e8 |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
c6806e8 |
---
|
|
|
c6806e8 |
drivers/usb/storage/uas.c | 2 +-
|
|
|
c6806e8 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
c6806e8 |
|
|
|
c6806e8 |
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
|
|
|
c6806e8 |
index 511b229..3f42785 100644
|
|
|
c6806e8 |
--- a/drivers/usb/storage/uas.c
|
|
|
c6806e8 |
+++ b/drivers/usb/storage/uas.c
|
|
|
c6806e8 |
@@ -1026,7 +1026,7 @@ static int uas_configure_endpoints(struct uas_dev_info *devinfo)
|
|
|
c6806e8 |
usb_endpoint_num(&eps[3]->desc));
|
|
|
c6806e8 |
|
|
|
c6806e8 |
if (udev->speed != USB_SPEED_SUPER) {
|
|
|
c6806e8 |
- devinfo->qdepth = 256;
|
|
|
c6806e8 |
+ devinfo->qdepth = 32;
|
|
|
c6806e8 |
devinfo->use_streams = 0;
|
|
|
c6806e8 |
} else {
|
|
|
c6806e8 |
devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1,
|
|
|
c6806e8 |
--
|
|
|
c6806e8 |
2.0.4
|
|
|
c6806e8 |
|