usb input endianness annotations and fixes
authorAl Viro <viro@ftp.linux.org.uk>
Mon, 28 Apr 2008 06:00:26 +0000 (07:00 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 28 Apr 2008 17:03:31 +0000 (10:03 -0700)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/input/joystick/iforce/iforce-usb.c
drivers/input/tablet/gtco.c

index 1457b73..7fb3cf8 100644 (file)
@@ -159,7 +159,7 @@ static int iforce_usb_probe(struct usb_interface *intf,
 
        iforce->cr.bRequestType = USB_TYPE_VENDOR | USB_DIR_IN | USB_RECIP_INTERFACE;
        iforce->cr.wIndex = 0;
-       iforce->cr.wLength = 16;
+       iforce->cr.wLength = cpu_to_le16(16);
 
        usb_fill_int_urb(iforce->irq, dev, usb_rcvintpipe(dev, epirq->bEndpointAddress),
                        iforce->data, 16, iforce_usb_irq, iforce, epirq->bInterval);
index d2c6da2..f66ca21 100644 (file)
@@ -897,7 +897,7 @@ static int gtco_probe(struct usb_interface *usbinterface,
        dbg("Extra descriptor success: type:%d  len:%d",
            hid_desc->bDescriptorType,  hid_desc->wDescriptorLength);
 
-       report = kzalloc(hid_desc->wDescriptorLength, GFP_KERNEL);
+       report = kzalloc(le16_to_cpu(hid_desc->wDescriptorLength), GFP_KERNEL);
        if (!report) {
                err("No more memory for report");
                error = -ENOMEM;
@@ -913,16 +913,16 @@ static int gtco_probe(struct usb_interface *usbinterface,
                                         REPORT_DEVICE_TYPE << 8,
                                         0, /* interface */
                                         report,
-                                        hid_desc->wDescriptorLength,
+                                        le16_to_cpu(hid_desc->wDescriptorLength),
                                         5000); /* 5 secs */
 
-               if (result == hid_desc->wDescriptorLength)
+               if (result == le16_to_cpu(hid_desc->wDescriptorLength))
                        break;
        }
 
        /* If we didn't get the report, fail */
        dbg("usb_control_msg result: :%d", result);
-       if (result != hid_desc->wDescriptorLength) {
+       if (result != le16_to_cpu(hid_desc->wDescriptorLength)) {
                err("Failed to get HID Report Descriptor of size: %d",
                    hid_desc->wDescriptorLength);
                error = -EIO;