diff options
Diffstat (limited to '0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch')
-rw-r--r-- | 0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch b/0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch new file mode 100644 index 000000000..8c4f90c06 --- /dev/null +++ b/0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch @@ -0,0 +1,46 @@ +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 + |