Follow up to the USB refactoring patch: Missed setting pid values correctly.
authorPatrick Georgi <patrick.georgi@coresystems.de>
Fri, 11 Jun 2010 14:25:40 +0000 (14:25 +0000)
committerPatrick Georgi <patrick.georgi@coresystems.de>
Fri, 11 Jun 2010 14:25:40 +0000 (14:25 +0000)
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

payloads/libpayload/drivers/usb/uhci.c

index 36d8945d5179d862ab27e4eb9cc462191cab7ee2..721fde00f7fbd6cc525a0694e3ac934f9c27f2a5 100644 (file)
@@ -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);