summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2010-06-11 14:25:40 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2010-06-11 14:25:40 +0000
commitcfaa081f98ef44aa45b98d450367d8742135eae6 (patch)
treeb057aa0372ed180263f205621d575514ae403224 /payloads/libpayload
parent9fb55cb75ca1186ad66e83379c53f8d16e15f759 (diff)
downloadcoreboot-cfaa081f98ef44aa45b98d450367d8742135eae6.tar.xz
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')
-rw-r--r--payloads/libpayload/drivers/usb/uhci.c12
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);