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>
This commit is contained in:
parent
1465385db0
commit
eb7a900f63
|
@ -384,6 +384,7 @@ ohci_bulk (endpoint_t *ep, int dalen, u8 *data, int finalize)
|
||||||
cur->delay_interrupt = 7;
|
cur->delay_interrupt = 7;
|
||||||
cur->condition_code = 0xf;
|
cur->condition_code = 0xf;
|
||||||
cur->direction = (ep->direction==IN)?OHCI_IN:OHCI_OUT;
|
cur->direction = (ep->direction==IN)?OHCI_IN:OHCI_OUT;
|
||||||
|
cur->current_buffer_pointer = virt_to_phys(data);
|
||||||
pages--;
|
pages--;
|
||||||
if (dalen == 0) {
|
if (dalen == 0) {
|
||||||
/* magic TD for empty packet transfer */
|
/* magic TD for empty packet transfer */
|
||||||
|
|
Loading…
Reference in New Issue