diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2008-04-28 02:00:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 13:03:31 -0400 |
commit | 01d7b369887b6feb7c9ce2b20988fafe3f70841c (patch) | |
tree | 562a5c2696aed8982cfbc616add8bb05d8073d1e | |
parent | d28aa3ac4cdc2d03a2bde4b78780064a00f7ef61 (diff) |
usbhid endianness annotations and fixes
usb_control_msg() converts arguments to little-endian itself,
doing that in caller means breakage on big-endian boxen.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/hid/usbhid/hid-core.c | 2 | ||||
-rw-r--r-- | include/linux/hid.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index e0d805f1b2bf..01427c51c7cc 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c | |||
@@ -654,7 +654,7 @@ static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf, size_t co | |||
654 | ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), | 654 | ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), |
655 | HID_REQ_SET_REPORT, | 655 | HID_REQ_SET_REPORT, |
656 | USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, | 656 | USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, |
657 | cpu_to_le16(((HID_OUTPUT_REPORT + 1) << 8) | *buf), | 657 | ((HID_OUTPUT_REPORT + 1) << 8) | *buf, |
658 | interface->desc.bInterfaceNumber, buf + 1, count - 1, | 658 | interface->desc.bInterfaceNumber, buf + 1, count - 1, |
659 | USB_CTRL_SET_TIMEOUT); | 659 | USB_CTRL_SET_TIMEOUT); |
660 | 660 | ||
diff --git a/include/linux/hid.h b/include/linux/hid.h index d951ec411241..4ce3b7a979ba 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
@@ -498,13 +498,13 @@ struct hid_parser { | |||
498 | 498 | ||
499 | struct hid_class_descriptor { | 499 | struct hid_class_descriptor { |
500 | __u8 bDescriptorType; | 500 | __u8 bDescriptorType; |
501 | __u16 wDescriptorLength; | 501 | __le16 wDescriptorLength; |
502 | } __attribute__ ((packed)); | 502 | } __attribute__ ((packed)); |
503 | 503 | ||
504 | struct hid_descriptor { | 504 | struct hid_descriptor { |
505 | __u8 bLength; | 505 | __u8 bLength; |
506 | __u8 bDescriptorType; | 506 | __u8 bDescriptorType; |
507 | __u16 bcdHID; | 507 | __le16 bcdHID; |
508 | __u8 bCountryCode; | 508 | __u8 bCountryCode; |
509 | __u8 bNumDescriptors; | 509 | __u8 bNumDescriptors; |
510 | 510 | ||