Skip to contentSkip to conversation

Patch "USB: uas: Limit qdepth at the scsi-host level" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Apr 17, 2016

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

USB: uas: Limit qdepth at the scsi-host level

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
usb-uas-limit-qdepth-at-the-scsi-host-level.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 198de51dbc3454d95b015ca0a055b673f85f01bb Mon Sep 17 00:00:00 2001

From: Hans de Goede <[email protected]>
Date: Tue, 12 Apr 2016 12:27:08 +0200
Subject: USB: uas: Limit qdepth at the scsi-host level

From: Hans de Goede <[email protected]>

commit 198de51dbc3454d95b015ca0a055b673f85f01bb upstream.

Commit 64d513ac31bd ("scsi: use host wide tags by default") causes the SCSI core to queue more commands then we can handle on devices with multiple LUNs, limit the queue depth at the scsi-host level instead of per slave to fix this.

---
 drivers/usb/storage/uas.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/usb/storage/uas.c +6 -1
@@ -800,7 +800,6 @@ static int uas_slave_configure(struct sc
 	if (devinfo->flags & US_FL_BROKEN_FUA)
 		sdev->broken_fua = 1;
 
-	scsi_change_queue_depth(sdev, devinfo->qdepth - 2);
 	return 0;
 }
 
@@ -932,6 +931,12 @@ static int uas_probe(struct usb_interfac
 	if (result)
 		goto set_alt0;
 
+	/*
+	 * 1 tag is reserved for untagged commands +
+	 * 1 tag to avoid off by one errors in some bridge firmwares
+	 */
+	shost->can_queue = devinfo->qdepth - 2;
+
 	usb_set_intfdata(intf, shost);
 	result = scsi_add_host(shost, &intf->dev);
 	if (result)

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/usb-uas-limit-qdepth-at-the-scsi-host-level.patch queue-4.4/usb-uas-add-a-new-no_report_luns-quirk.patch queue-4.4/pinctrl-sunxi-fix-a33-external-interrupts-not-working.patch