OSDN Git Service

usb-ohci: Fix endianness issue
authorMichael Buesch <mb@bu3sch.de>
Wed, 8 Jul 2009 19:54:28 +0000 (21:54 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 10 Jul 2009 18:41:20 +0000 (13:41 -0500)
This fixes a possible endianness issue in the usb-ohci hw module.
hcca.frame and ohci->frame_number are 16bit, so use cpu_to_le16().

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/usb-ohci.c

index 23b5e21..83d1a5c 100644 (file)
@@ -1150,9 +1150,9 @@ static void ohci_frame_boundary(void *opaque)
     /* Frame boundary, so do EOF stuf here */
     ohci->frt = ohci->fit;
 
-    /* XXX: endianness */
+    /* Increment frame number and take care of endianness. */
     ohci->frame_number = (ohci->frame_number + 1) & 0xffff;
-    hcca.frame = cpu_to_le32(ohci->frame_number);
+    hcca.frame = cpu_to_le16(ohci->frame_number);
 
     if (ohci->done_count == 0 && !(ohci->intr_status & OHCI_INTR_WD)) {
         if (!ohci->done)