kernel-ark/drivers/usb/storage
Massimiliano Ghilardi c4766560e4 USB Mass Storage: limit "Rockchip ROCK MP3" device (071b:3203) max I/O to 64 sectors per command
The MP3/MP4/AVI player "Rockchip ROCK MP3" is seen as a USB disk, but fails
if more than 128 sectors (64kB) are sent or requested in a single read or write
command, and disconnects from the USB bus.

Typical kernel log showing the problem is:

usb 3-1: reset high speed USB device using ehci_hcd and address 6
usb 3-1: reset high speed USB device using ehci_hcd and address 6
sd 14:0:0:0: [sdb] Result: hostbyte=0x07 driverbyte=0x00
end_request: I/O error, dev sdb, sector 32
sd 14:0:0:0: [sdb] Result: hostbyte=0x07 driverbyte=0x00
end_request: I/O error, dev sdb, sector 32
usb 3-1: USB disconnect, address 6

This patch works around the device limitation by adding "Rockchip ROCK MP3"
to unusual USB devices list and limiting data transfers to 64 sectors (32kB)
per command.
Tested on 2.6.23-rc5 (amd64).

Signed-off-by: Massimiliano Ghilardi <massimiliano.ghilardi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-09-11 07:48:16 -07:00
..
alauda.c
alauda.h
datafab.c
datafab.h
debug.c
debug.h
dpcm.c USB: drivers/usb/storage/dpcm.c whitespace cleanup 2007-07-19 17:46:08 -07:00
dpcm.h
freecom.c
freecom.h
initializers.c
initializers.h
isd200.c
isd200.h
jumpshot.c
jumpshot.h
karma.c
karma.h
Kconfig
libusual.c
Makefile
onetouch.c USB: storage: onetouch: clean up urb->status usage 2007-07-19 17:46:06 -07:00
onetouch.h
protocol.c
protocol.h
scsiglue.c usb-storage: implement autosuspend 2007-07-12 16:34:43 -07:00
scsiglue.h
sddr09.c
sddr09.h
sddr55.c
sddr55.h
shuttle_usbat.c
shuttle_usbat.h
transport.c
transport.h
unusual_devs.h USB Mass Storage: limit "Rockchip ROCK MP3" device (071b:3203) max I/O to 64 sectors per command 2007-09-11 07:48:16 -07:00
usb.c usb-storage: fix bugs in the disconnect pathway 2007-08-22 14:27:52 -07:00
usb.h usb-storage: fix bugs in the disconnect pathway 2007-08-22 14:27:52 -07:00