aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2016-03-07 14:11:52 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-03-18 12:19:02 -0400
commit55ff8cfbc4e12a7d2187df523938cc671fbebdd1 (patch)
tree4516e36572fa6e8e3cf8f4044df384289180b9de /drivers/usb/storage
parent8835ba4a39cf53f705417b3b3a94eb067673f2c9 (diff)
USB: uas: Reduce can_queue to MAX_CMNDS
The uas driver can never queue more then MAX_CMNDS (- 1) tags and tags are shared between luns, so there is no need to claim that we can_queue some random large number. Not claiming that we can_queue 65536 commands, fixes the uas driver failing to initialize while allocating the tag map with a "Page allocation failure (order 7)" error on systems which have been running for a while and thus have fragmented memory. Cc: stable@vger.kernel.org Reported-and-tested-by: Yves-Alexis Perez <corsac@corsac.net> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r--drivers/usb/storage/uas.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 44b096c1737b..13e4cc31bc79 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -836,7 +836,7 @@ static struct scsi_host_template uas_host_template = {
836 .slave_configure = uas_slave_configure, 836 .slave_configure = uas_slave_configure,
837 .eh_abort_handler = uas_eh_abort_handler, 837 .eh_abort_handler = uas_eh_abort_handler,
838 .eh_bus_reset_handler = uas_eh_bus_reset_handler, 838 .eh_bus_reset_handler = uas_eh_bus_reset_handler,
839 .can_queue = 65536, /* Is there a limit on the _host_ ? */ 839 .can_queue = MAX_CMNDS,
840 .this_id = -1, 840 .this_id = -1,
841 .sg_tablesize = SG_NONE, 841 .sg_tablesize = SG_NONE,
842 .skip_settle_delay = 1, 842 .skip_settle_delay = 1,