[U-Boot] [PATCH v2 3/3] usb_storage: Fix EHCI "out of buffer pointers" with CD-ROM

Wolfgang Denk
2012-01-05T16:16:27Z

Dear Kyle Moffett,

In message <1324487292-7299-4-git-send-email-Kyle.D.Moffett@boeing.com> you wrote:
> When performing large bulk reads from a CD or DVD using the U-Boot
> usb_storage driver, it generates requests of up to 20 blocks at a time.
>
> With a standard 512-byte block size, that is 10240 bytes and within the
> limit of U-Boot's EHCI driver (maximum 5 pages at 4k per page).
>
> Unfortunately CD-ROM media has a 2048-byte blocksize, resulting in a
> maximum transfer size of 40960 bytes, which does not fit.
>
> Since the EHCI specification is impossibly obtuse and far beyond my
> comprehension, I chose to dynamically compute the limit based on the
> blocksize.
>
> Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
>
> --
>
> v2:
> Minor whitespace fixes
>
> ---
> common/usb_storage.c | 45 +++++++++++++++++++++++++--------------------
> 1 files changed, 25 insertions(+), 20 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"An organization dries up if you don't challenge it with growth."
- Mark Shepherd, former President and CEO of Texas Instruments