usb-storage: Fix devices that cannot handle 32k transfers
authorDoug Maxey <dwm@enoyolf.org>
Thu, 6 Dec 2007 05:36:45 +0000 (23:36 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 17 Dec 2007 18:47:14 +0000 (10:47 -0800)
commit33abc04f0420dceed0ebc2d1094019d3bb2b5c29
tree87d8e2c7cf41d6afed4d75c2e3ef113b506541ab
parentb9e13ac30f850313be9232497ff98e90c43bc6b6
usb-storage: Fix devices that cannot handle 32k transfers

When a device cannot handle the smallest previously limited transfer
size (64 blocks) without stalling, limit the device to the amount of
packets that fit in a platform native page.

The lowest possible limit is PAGE_CACHE_SIZE, so if the device is ever
used on a platform that has larger than 8K pages, you lose unless you
can convince the device firmware folks to fix the issue.

Cc: Mathew Dharm <mdharm-scsi@one-eyed-alien.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Doug Maxey <dwm@austin.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/storage/scsiglue.c
drivers/usb/storage/unusual_devs.h
include/linux/usb_usual.h