uas: Fix high-order alloc

This commit is contained in:
Ben Hutchings 2016-03-05 18:44:05 +00:00
parent 82436bc939
commit 9f9bdca061
3 changed files with 31 additions and 0 deletions

1
debian/changelog vendored
View File

@ -441,6 +441,7 @@ linux (4.4.4-1) UNRELEASED; urgency=medium
- mmc-modules: Include MMC controller drivers by default
- mmc-modules: Depends on usb-modules
- usb-modules: Include USB PHY drivers by default
* uas: Fix high-order alloc
[ Ian Campbell ]
* [armhf] dts: Add DTB for Novena, patches from Vagrant Cascadian

View File

@ -0,0 +1,29 @@
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 04 Mar 2016 07:18:00 +0000
Subject: uas: Fix high-order alloc
Origin: http://thread.gmane.org/gmane.linux.usb.general/138042/focus=111495
Can you try building a kernel with the following line in drivers/usb/storage/uas.c :
.can_queue = 65536, /* Is there a limit on the _host_ ? */
(around line 815) Replaced with
.can_queue = MAX_CMNDS,
That should help as MAX_CMNDS is 256, so claiming that we can queue more
is not helpful, and that likely is what is causing this quite high order alloc.
Reported-and-tested-by: Yves-Alexis Perez <corsac@corsac.net>
---
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -812,7 +812,7 @@ static struct scsi_host_template uas_hos
.slave_configure = uas_slave_configure,
.eh_abort_handler = uas_eh_abort_handler,
.eh_bus_reset_handler = uas_eh_bus_reset_handler,
- .can_queue = 65536, /* Is there a limit on the _host_ ? */
+ .can_queue = MAX_CMNDS, /* Is there a limit on the _host_ ? */
.this_id = -1,
.sg_tablesize = SG_NONE,
.skip_settle_delay = 1,

View File

@ -127,3 +127,4 @@ debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
bugfix/arm/net-mv643xx_eth-fix-packet-corruption-with-tso-and-t.patch
bugfix/x86/x86-efi-bgrt-fix-kernel-panic-when-mapping-bgrt-data.patch
bugfix/x86/x86-efi-bgrt-replace-early_memremap-with-memremap.patch
bugfix/all/uas-fix-high-order-alloc.patch