diff options
author | Patrick Georgi <patrick.georgi@coresystems.de> | 2010-06-11 14:25:40 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2010-06-11 14:25:40 +0000 |
commit | cfaa081f98ef44aa45b98d450367d8742135eae6 (patch) | |
tree | b057aa0372ed180263f205621d575514ae403224 /payloads/libpayload/drivers/usb | |
parent | 9fb55cb75ca1186ad66e83379c53f8d16e15f759 (diff) |
Follow up to the USB refactoring patch: Missed setting pid values correctly.
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5631 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/drivers/usb')
-rw-r--r-- | payloads/libpayload/drivers/usb/uhci.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/payloads/libpayload/drivers/usb/uhci.c b/payloads/libpayload/drivers/usb/uhci.c index 36d8945d51..721fde00f7 100644 --- a/payloads/libpayload/drivers/usb/uhci.c +++ b/payloads/libpayload/drivers/usb/uhci.c @@ -400,7 +400,11 @@ static void fill_schedule (td_t *td, endpoint_t *ep, int length, unsigned char *data, int *toggle) { - td->pid = ep->direction; + switch (ep->direction) { + case IN: td->pid = UHCI_IN; break; + case OUT: td->pid = UHCI_OUT; break; + case SETUP: td->pid = UHCI_SETUP; break; + } td->dev_addr = ep->dev->address; td->endp = ep->endpoint & 0xf; td->maxlen = maxlen (length); @@ -507,7 +511,11 @@ uhci_create_intr_queue (endpoint_t *ep, int reqsize, int reqcount, int reqtiming tds[i].queue_head = 0; tds[i].depth_first = 0; - tds[i].pid = ep->direction; + switch (ep->direction) { + case IN: tds[i].pid = UHCI_IN; break; + case OUT: tds[i].pid = UHCI_OUT; break; + case SETUP: tds[i].pid = UHCI_SETUP; break; + } tds[i].dev_addr = ep->dev->address; tds[i].endp = ep->endpoint & 0xf; tds[i].maxlen = maxlen (reqsize); |