]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
USB HID: Fix USB vendor and product IDs endianness for USB HID devices
authorJulien BLACHE <jb@jblache.org>
Sun, 11 Feb 2007 17:27:09 +0000 (18:27 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Mar 2007 18:50:20 +0000 (10:50 -0800)
The USB vendor and product IDs are not byteswapped appropriately, and
thus come out in the wrong endianness when fetched through the evdev
using ioctl() on big endian platforms.

Signed-off-by: Julien BLACHE <jb@jblache.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/input/hid-core.c

index c6c9e72e5fd9d94a3fada3216e41090b907815d0..dd9e546a97024d5cdb3fc5437b498faf8213e04f 100644 (file)
@@ -1212,8 +1212,8 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf)
                         le16_to_cpu(dev->descriptor.idProduct));
 
        hid->bus = BUS_USB;
-       hid->vendor = dev->descriptor.idVendor;
-       hid->product = dev->descriptor.idProduct;
+       hid->vendor = le16_to_cpu(dev->descriptor.idVendor);
+       hid->product = le16_to_cpu(dev->descriptor.idProduct);
 
        usb_make_path(dev, hid->phys, sizeof(hid->phys));
        strlcat(hid->phys, "/input", sizeof(hid->phys));