linux/drivers
Benjamin Herrenschmidt b8430e1b82 usb-storage: Workaround devices with bogus sense size
usb-storage: Workaround devices with bogus sense size

Some devices, such as Huawei E169, advertise more than the standard
amount of sense data, causing us to set US_FL_SANE_SENSE, assuming
they support it. However, they subsequently fail the request sense
with that size.

This works around it generically. When a sense request fails due to
a device returning an error, US_FL_SANE_SENSE was set, and that sense
request used a larger sense size, we retry with a smaller size before
giving up.

Based on an original patch by Ben Efros <ben@pc-doctor.com>

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-10-14 14:54:44 -07:00
..
accessibility
acpi
amba
ata ahci: Add ifdef wrapper to ahci_gtf_filter_workaround 2009-10-09 00:29:07 -04:00
atm
auxdisplay
base
block cciss: Add cciss_allow_hpsa module parameter 2009-10-13 09:18:22 +02:00
bluetooth
cdrom
char headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
clocksource
connector
cpufreq
cpuidle
crypto
dca
dio
dma
edac Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-10-08 12:06:36 -07:00
eisa
firewire
firmware
gpio
gpu Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel 2009-10-09 09:19:23 -07:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2009-10-13 10:10:33 -07:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2009-10-11 11:23:33 -07:00
i2c
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 2009-10-08 11:59:06 -07:00
idle
ieee1394 headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ieee802154
infiniband headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
input headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
isdn headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
leds
lguest headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
macintosh
mca
md
media headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
memstick
message headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
mfd mfd: Fix twl4030 boot with twl4030 usb transceiver enabled 2009-10-12 15:19:23 +02:00
misc headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
mmc [ARM] pxamci: fix printing gpio numbers in pxamci_probe 2009-10-12 15:30:50 +08:00
mtd headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
net headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
nubus
of
oprofile
parisc
parport
pci headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
pcmcia
platform
pnp
power
pps
ps3
rapidio
regulator
rtc headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2009-10-11 11:34:50 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2009-10-11 11:12:33 -07:00
serial tty, serial: Fix race and NULL check in uart_close() 2009-10-12 10:21:33 -07:00
sfi
sh
sn
spi
ssb
staging Staging: comedi: fix build on arches that don't want comedi drivers 2009-10-09 13:47:25 -07:00
tc
telephony
thermal
uio headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
usb usb-storage: Workaround devices with bogus sense size 2009-10-14 14:54:44 -07:00
uwb headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
video Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2009-10-08 12:01:01 -07:00
virtio
vlynq
w1
watchdog
xen
zorro
Kconfig
Makefile