All of lore.kernel.org
 help / color / mirror / Atom feed
* Patch "USB: uas: Limit qdepth at the scsi-host level" has been added to the 4.4-stable tree
@ 2016-04-17 10:32 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2016-04-17 10:32 UTC (permalink / raw)
  To: hdegoede, gregkh; +Cc: stable, stable-commits


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 <stable@vger.kernel.org> know about it.


>From 198de51dbc3454d95b015ca0a055b673f85f01bb Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 12 Apr 2016 12:27:08 +0200
Subject: USB: uas: Limit qdepth at the scsi-host level

From: Hans de Goede <hdegoede@redhat.com>

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.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1315013
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/storage/uas.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -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 hdegoede@redhat.com 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-04-17 11:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-17 10:32 Patch "USB: uas: Limit qdepth at the scsi-host level" has been added to the 4.4-stable tree gregkh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.