diff mbox series

HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields

Message ID 20211028163330.503146-1-hdegoede@redhat.com (mailing list archive)
State Mainlined
Commit 7fc48fd6b2c0acacd8130d83d2a037670d6192d2
Delegated to: Jiri Kosina
Headers show
Series HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields | expand

Commit Message

Hans de Goede Oct. 28, 2021, 4:33 p.m. UTC
Fix parsing of HID_CP_CONSUMER_CONTROL fields which are not in
the HID_CP_PROGRAMMABLEBUTTONS collection.

Fixes: bcfa8d14570d ("HID: input: Add support for Programmable Buttons")
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2018096
Cc: Thomas Weißschuh <linux@weissschuh.net>
Suggested-by: Benjamin Tissoires <btissoir@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/hid/hid-input.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Thomas Weißschuh Oct. 28, 2021, 5:15 p.m. UTC | #1
On 2021-10-28 18:33+0200, Hans de Goede wrote:
> Fix parsing of HID_CP_CONSUMER_CONTROL fields which are not in
> the HID_CP_PROGRAMMABLEBUTTONS collection.
> 
> Fixes: bcfa8d14570d ("HID: input: Add support for Programmable Buttons")
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2018096
> Cc: Thomas Weißschuh <linux@weissschuh.net>
> Suggested-by: Benjamin Tissoires <btissoir@redhat.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/hid/hid-input.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 4b5ebeacd283..4b3f4a5e2305 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -650,10 +650,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
>  						code += KEY_MACRO1;
>  					else
>  						code += BTN_TRIGGER_HAPPY - 0x1e;
> -				} else {
> -					goto ignore;
> +					break;
>  				}
> -				break;
> +				fallthrough;
>  		default:
>  			switch (field->physical) {
>  			case HID_GD_MOUSE:
> -- 
> 2.31.1

Reviewed-By: Thomas Weißschuh <linux@weissschuh.net>

Although looking at the descriptor I'm not sure that what it does is correct.

FYI I have another patch in the pipeline that fixes broken keymap remapping for
ignored keys.
Such a remapping via the hwdb would have been another, maybe more correct, way
to fix this issue.
Jiri Kosina Nov. 19, 2021, 2:47 p.m. UTC | #2
On Thu, 28 Oct 2021, Hans de Goede wrote:

> Fix parsing of HID_CP_CONSUMER_CONTROL fields which are not in
> the HID_CP_PROGRAMMABLEBUTTONS collection.
> 
> Fixes: bcfa8d14570d ("HID: input: Add support for Programmable Buttons")
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2018096
> Cc: Thomas Weißschuh <linux@weissschuh.net>
> Suggested-by: Benjamin Tissoires <btissoir@redhat.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Applied, thanks Hans.
diff mbox series

Patch

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 4b5ebeacd283..4b3f4a5e2305 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -650,10 +650,9 @@  static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 						code += KEY_MACRO1;
 					else
 						code += BTN_TRIGGER_HAPPY - 0x1e;
-				} else {
-					goto ignore;
+					break;
 				}
-				break;
+				fallthrough;
 		default:
 			switch (field->physical) {
 			case HID_GD_MOUSE: