]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/hid/hid-input.c
Merge branches 'for-3.11/multitouch', 'for-3.11/sony' and 'for-3.11/upstream' into...
[karo-tx-linux.git] / drivers / hid / hid-input.c
index c526a3ccbe5b1389f4bb824b7bf2f4db8ae230ee..7480799e535cb229a8bae89cf3795d1a5e91b738 100644 (file)
@@ -1042,9 +1042,14 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
 
        /*
         * Ignore out-of-range values as per HID specification,
-        * section 5.10 and 6.2.25
+        * section 5.10 and 6.2.25.
+        *
+        * The logical_minimum < logical_maximum check is done so that we
+        * don't unintentionally discard values sent by devices which
+        * don't specify logical min and max.
         */
        if ((field->flags & HID_MAIN_ITEM_VARIABLE) &&
+           (field->logical_minimum < field->logical_maximum) &&
            (value < field->logical_minimum ||
             value > field->logical_maximum)) {
                dbg_hid("Ignoring out-of-range value %x\n", value);