Skip to content
Snippets Groups Projects
Select Git revision
0 results

usb_storage.c

Forked from Reform / reform-boundary-uboot
Loading
  • Stefan Herbrechtsmeier's avatar
    1b4bd0e6
    usb_storage: fix ehci driver max transfer size · 1b4bd0e6
    Stefan Herbrechtsmeier authored
    
    The commit 5dd95cf9 '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: default avatarStefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
    1b4bd0e6
    History
    usb_storage: fix ehci driver max transfer size
    Stefan Herbrechtsmeier authored
    
    The commit 5dd95cf9 '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: default avatarStefan Herbrechtsmeier <stefan@herbrechtsmeier.net>