From: Julien BLACHE Date: Sun, 11 Feb 2007 17:20:25 +0000 (+0100) Subject: USB HID: Fix USB vendor and product IDs endianness for USB HID devices X-Git-Tag: v2.6.21-rc3~147^2~7 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fa2ad5ff4d8ded8c29c7b6cc92a1c3a8d8a2079;p=linux-2.6 USB HID: Fix USB vendor and product IDs endianness for USB HID devices 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 Signed-off-by: Jiri Kosina --- diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index ef09952f20..905156c52a 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c @@ -1225,8 +1225,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));