diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2009-04-30 16:46:12 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2009-04-30 16:46:12 +0000 |
commit | d233f363c129dae2ba5fd7ac536cf92fb4c2dd6e (patch) | |
tree | 60d3123a957d313d583783a42cfda4b0621dce85 /payloads/libpayload/drivers/usb/uhci.c | |
parent | b5fb0c5c4eda2329d848aedcf4f7e8b6dc8012b2 (diff) | |
download | coreboot-d233f363c129dae2ba5fd7ac536cf92fb4c2dd6e.tar.xz |
Some driver fixes for libpayload:
- fix minor bug in serial driver.
- latest USB stack fixes
- fix dead store in options.c
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4239 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/drivers/usb/uhci.c')
-rw-r--r-- | payloads/libpayload/drivers/usb/uhci.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/payloads/libpayload/drivers/usb/uhci.c b/payloads/libpayload/drivers/usb/uhci.c index 34a6ec80d3..612fc7f199 100644 --- a/payloads/libpayload/drivers/usb/uhci.c +++ b/payloads/libpayload/drivers/usb/uhci.c @@ -63,7 +63,23 @@ uhci_dump (hci_t *controller) static void td_dump (td_t *td) { - printf ("%x packet (at %lx) to %x.%x failed\n", td->pid, + char td_value[3]; + char *td_type; + switch (td->pid) { + case SETUP: + td_type="SETUP"; + break; + case IN: + td_type="IN"; + break; + case OUT: + td_type="OUT"; + break; + default: + sprintf(td_value, "%x", td->pid); + td_type=td_value; + } + printf ("%s packet (at %lx) to %x.%x failed\n", td_type, virt_to_phys (td), td->dev_addr, td->endp); printf ("td (counter at %x) returns: ", td->counter); printf (" bitstuff err: %x, ", td->status_bitstuff_err); @@ -493,6 +509,7 @@ uhci_create_intr_queue (endpoint_t *ep, int reqsize, int reqcount, int reqtiming qh_t *qh = memalign(16, sizeof(qh_t)); qh->elementlinkptr.ptr = virt_to_phys(tds); + qh->elementlinkptr.queue_head = 0; qh->elementlinkptr.terminate = 0; intr_q *q = malloc(sizeof(intr_q)); |