| From 5989a55a4c9aafba8b152c6bf52244510c2b88b9 Mon Sep 17 00:00:00 2001 |
| From: Jason Gerecke <killertofu@gmail.com> |
| Date: Tue, 23 Sep 2014 11:09:28 -0700 |
| Subject: HID: input: Fix TransducerSerialNumber implementation |
| |
| From: Jason Gerecke <killertofu@gmail.com> |
| |
| commit 5989a55a4c9aafba8b152c6bf52244510c2b88b9 upstream. |
| |
| The commit which introduced TransducerSerialNumber (368c966) is missing |
| two crucial implementation details. Firstly, the commit does not set the |
| type/code/bit/max fields as expected later down the code which can cause |
| the driver to crash when a tablet with this usage is connected. Secondly, |
| the call to 'set_bit' causes MSC_PULSELED to be sent instead of the |
| expected MSC_SERIAL. This commit addreses both issues. |
| |
| Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com> |
| Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> |
| Reviewed-by: Ping Cheng <pingc@wacom.com> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hid/hid-input.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/hid/hid-input.c |
| +++ b/drivers/hid/hid-input.c |
| @@ -689,7 +689,10 @@ static void hidinput_configure_usage(str |
| break; |
| |
| case 0x5b: /* TransducerSerialNumber */ |
| - set_bit(MSC_SERIAL, input->mscbit); |
| + usage->type = EV_MSC; |
| + usage->code = MSC_SERIAL; |
| + bit = input->mscbit; |
| + max = MSC_MAX; |
| break; |
| |
| default: goto unknown; |