diff options
author | Patrick Georgi <patrick.georgi@secunet.com> | 2011-10-21 15:45:09 +0200 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2011-10-21 17:05:48 +0200 |
commit | eb7a900f63752517ba6e6378215cdc34bcd1c0dc (patch) | |
tree | 6bd47a88aff21a4e8134da1c7121a8233c461633 | |
parent | 1465385db027bfe42ce420b551819f6d63a6cc88 (diff) |
libpayload: fix bulk transfers on OHCI controllers
Time for the brown paper bag: OHCI controllers are not happy when
told to send data, but with obviously wrong addresses. It helps
to write the addresses into the data structures.
Change-Id: Ic0967dc8939e64af119cfb89400a045a2c077171
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/306
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r-- | payloads/libpayload/drivers/usb/ohci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/usb/ohci.c b/payloads/libpayload/drivers/usb/ohci.c index 94c19454cb..290f7822a0 100644 --- a/payloads/libpayload/drivers/usb/ohci.c +++ b/payloads/libpayload/drivers/usb/ohci.c @@ -384,6 +384,7 @@ ohci_bulk (endpoint_t *ep, int dalen, u8 *data, int finalize) cur->delay_interrupt = 7; cur->condition_code = 0xf; cur->direction = (ep->direction==IN)?OHCI_IN:OHCI_OUT; + cur->current_buffer_pointer = virt_to_phys(data); pages--; if (dalen == 0) { /* magic TD for empty packet transfer */ |