HID: hid-input: fix stylus battery reporting
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 25 Sep 2020 23:35:52 +0000 (16:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 08:07:06 +0000 (09:07 +0100)
[ Upstream commit 505f394fa239cecb76d916aa858f87ed7ea7fde4 ]

With commit 4f3882177240 hid-input started clearing of "ignored" usages
to avoid using garbage that might have been left in them. However
"battery strength" usages should not be ignored, as we do want to
use them.

Fixes: 4f3882177240 ("HID: hid-input: clear unmapped usages")
Reported-by: Kenneth Albanowski <kenalba@google.com>
Tested-by: Kenneth Albanowski <kenalba@google.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hid/hid-input.c

index 3624d6e3384ffdfbcc63c07af866f7ab370825eb..07a043ae69f12cc42506757b682804e1ef26f2d7 100644 (file)
@@ -796,7 +796,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                case 0x3b: /* Battery Strength */
                        hidinput_setup_battery(device, HID_INPUT_REPORT, field);
                        usage->type = EV_PWR;
-                       goto ignore;
+                       return;
 
                case 0x3c: /* Invert */
                        map_key_clear(BTN_TOOL_RUBBER);
@@ -1043,7 +1043,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                case HID_DC_BATTERYSTRENGTH:
                        hidinput_setup_battery(device, HID_INPUT_REPORT, field);
                        usage->type = EV_PWR;
-                       goto ignore;
+                       return;
                }
                goto unknown;