]> git.karo-electronics.de Git - karo-tx-linux.git/commit
usb-storage: revert DMA-alignment change for Wireless USB
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 11 Aug 2008 14:08:17 +0000 (10:08 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 20 Aug 2008 18:05:14 +0000 (11:05 -0700)
commitb0d87b9307f9e4b5803a3cad3ad00bee4beb1966
tree4d0afdea8a897957afd7a531dd6dd646ee7a0139
parentac2ef12020817c8e8edb7b4fe57f053c62cc833e
usb-storage: revert DMA-alignment change for Wireless USB

commit f756cbd458ab71c996a069cb3928fb1e2d7cd9cc upstream.

This patch (as1110) reverts an earlier patch meant to help with
Wireless USB host controllers.  These controllers can have bulk
maxpacket values larger than 512, which puts unusual constraints on
the sizes of scatter-gather list elements.  However it turns out that
the block layer does not provide the support we need to enforce these
constraints; merely changing the DMA alignment mask doesn't help.
Hence there's no reason to keep the original patch.  The Wireless USB
problem will have to be solved a different way.

In addition, there is a reason to get rid of the earlier patch.  By
dereferencing a pointer stored in the ep_in array of struct
usb_device, the current code risks an invalid memory access when it
runs concurrently with device removal.  The members of that array are
cleared before the driver's disconnect method is called, so it should
not try to use them.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/storage/scsiglue.c