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 <jb@jblache.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
af28fc0945
commit
c52d525a40
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user