]> git.sur5r.net Git - u-boot/commit
usb_storage: fix ehci driver max transfer size
authorStefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Mon, 9 Jul 2012 09:52:29 +0000 (09:52 +0000)
committerMarek Vasut <marex@denx.de>
Wed, 18 Jul 2012 12:46:19 +0000 (14:46 +0200)
commit1b4bd0e66cd3b5124669c78bc968510b1040e9d9
tree98ddfff50178f251f4feffb6aab11e6dd5a90bae
parente3b31c8d757011cc862d5464217276c3bf5191d5
usb_storage: fix ehci driver max transfer size

The commit 5dd95cf93dfffa1d19a1928990852aac9f55b9d9 'usb_storage:
Fix EHCI "out of buffer pointers" with CD-ROM' introduce a bug in
usb_storage as it wrongly assumes that every transfer can use
4096 bytes per qt_buffer. This is wrong if the start address of
the data is not page aligned to 4096 bytes and leads to 'EHCI
timed out on TD' messages because of 'out of buffer pointers'
in ehci_td_buffer function.

The bug appears during load of a fragmented file and
read from or write to an unaligned memory address.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
common/usb_storage.c