diff mbox series

HID: hid-input: fix stylus battery reporting

Message ID 20200925233552.GA4022480@dtor-ws (mailing list archive)
State Mainlined
Commit 505f394fa239cecb76d916aa858f87ed7ea7fde4
Delegated to: Jiri Kosina
Headers show
Series HID: hid-input: fix stylus battery reporting | expand

Commit Message

Dmitry Torokhov Sept. 25, 2020, 11:35 p.m. UTC
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>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---

Kenneth, can you please try this one and see if it fixes your issue?

 drivers/hid/hid-input.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jiri Kosina Sept. 26, 2020, 12:55 a.m. UTC | #1
On Fri, 25 Sep 2020, Dmitry Torokhov wrote:

> 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>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Applied, thanks Dmitry and Kenneth.
Kenneth Albanowski Sept. 26, 2020, 12:56 a.m. UTC | #2
[Re-send to appease the mail daemons]

Confirmed, I've validated this on a 4.19 derivative, this fixes the
problem and battery strength gets reported again.

- Kenneth Albanowski


On Fri, Sep 25, 2020 at 4:35 PM Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
> 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>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
>
> Kenneth, can you please try this one and see if it fixes your issue?
>
>  drivers/hid/hid-input.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index dea9cc65bf80..5da631d2ec9b 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -797,7 +797,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);
> @@ -1059,7 +1059,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;
>
> --
> 2.28.0.681.g6f77f65b4e-goog
>
>
> --
> Dmitry
diff mbox series

Patch

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index dea9cc65bf80..5da631d2ec9b 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -797,7 +797,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);
@@ -1059,7 +1059,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;