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