47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
|
From 3b6df7e8130719b6bd83be241eb455f2aa862e9f Mon Sep 17 00:00:00 2001
|
||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||
|
Date: Fri, 14 Jun 2019 09:28:32 +0200
|
||
|
Subject: [PATCH] HID: logitech-dj: Fix forwarding of very long HID++ reports
|
||
|
|
||
|
The HID++ spec also defines very long HID++ reports, with a reportid of
|
||
|
0x12. The MX5000 and MX5500 keyboards use 0x12 output reports for sending
|
||
|
messages to display on their buildin LCD.
|
||
|
|
||
|
Userspace (libmx5000) supports this, in order for this to work when talking
|
||
|
to the HID devices instantiated for the keyboard by hid-logitech-dj,
|
||
|
we need to properly forward these reports to the device.
|
||
|
|
||
|
This commit fixes logi_dj_ll_raw_request not forwarding these reports.
|
||
|
|
||
|
Fixes: f2113c3020ef ("HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver")
|
||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||
|
---
|
||
|
drivers/hid/hid-logitech-dj.c | 4 +++-
|
||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c
|
||
|
index 865b179d0a62..aedbe18182db 100644
|
||
|
--- a/drivers/hid/hid-logitech-dj.c
|
||
|
+++ b/drivers/hid/hid-logitech-dj.c
|
||
|
@@ -30,6 +30,7 @@
|
||
|
|
||
|
#define REPORT_ID_HIDPP_SHORT 0x10
|
||
|
#define REPORT_ID_HIDPP_LONG 0x11
|
||
|
+#define REPORT_ID_HIDPP_VERY_LONG 0x12
|
||
|
|
||
|
#define HIDPP_REPORT_SHORT_LENGTH 7
|
||
|
#define HIDPP_REPORT_LONG_LENGTH 20
|
||
|
@@ -1242,7 +1243,8 @@ static int logi_dj_ll_raw_request(struct hid_device *hid,
|
||
|
int ret;
|
||
|
|
||
|
if ((buf[0] == REPORT_ID_HIDPP_SHORT) ||
|
||
|
- (buf[0] == REPORT_ID_HIDPP_LONG)) {
|
||
|
+ (buf[0] == REPORT_ID_HIDPP_LONG) ||
|
||
|
+ (buf[0] == REPORT_ID_HIDPP_VERY_LONG)) {
|
||
|
if (count < 2)
|
||
|
return -EINVAL;
|
||
|
|
||
|
--
|
||
|
2.21.0
|
||
|
|