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