Fix HID fix backport
This commit is contained in:
parent
d04a63b68f
commit
c958c901a8
@ -42,7 +42,7 @@ index 7e89288..16c2c66 100644
|
||||
* Search linux-kernel and linux-usb-devel archives for "hid-core extract".
|
||||
*/
|
||||
|
||||
-__u32 hid_field_extract(const struct hid_device *hid, __u8 *report,
|
||||
-static __u32 extract(const struct hid_device *hid, __u8 *report,
|
||||
- unsigned offset, unsigned n)
|
||||
-{
|
||||
- u64 x;
|
||||
@ -68,11 +68,11 @@ index 7e89288..16c2c66 100644
|
||||
+}
|
||||
|
||||
- if (n > 32)
|
||||
+u32 hid_field_extract(const struct hid_device *hid, u8 *report,
|
||||
+static u32 extract(const struct hid_device *hid, u8 *report,
|
||||
+ unsigned offset, unsigned n)
|
||||
+{
|
||||
+ if (n > 32) {
|
||||
hid_warn(hid, "hid_field_extract() called with n (%d) > 32! (%s)\n",
|
||||
hid_warn(hid, "extract() called with n (%d) > 32! (%s)\n",
|
||||
n, current->comm);
|
||||
+ n = 32;
|
||||
+ }
|
||||
@ -84,8 +84,8 @@ index 7e89288..16c2c66 100644
|
||||
- return (u32) x;
|
||||
+ return __extract(report, offset, n);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hid_field_extract);
|
||||
|
||||
/*
|
||||
@@ -1106,31 +1123,56 @@ EXPORT_SYMBOL_GPL(hid_field_extract);
|
||||
* The data mangled in the bit stream remains in little endian
|
||||
* order the whole time. It make more sense to talk about
|
||||
|
Loading…
Reference in New Issue
Block a user