Message ID | 20210123180220.3056430-1-lains@archlinux.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | fab3a95654eea01d6b0204995be8b7492a00d001 |
Delegated to: | Jiri Kosina |
Headers | show |
Series | HID: logitech-dj: add support for the new lightspeed connection iteration | expand |
On Sat, 23 Jan 2021, Filipe Laíns wrote: > From: Filipe Laíns <lains@riseup.net> > > This new connection type is the new iteration of the Lightspeed > connection and will probably be used in some of the newer gaming > devices. It is currently use in the G Pro X Superlight. > > This patch should be backported to older versions, as currently the > driver will panic when seing the unsupported connection. This isn't > an issue when using the receiver that came with the device, as Logitech > has been using different PIDs when they change the connection type, but > is an issue when using a generic receiver (well, generic Lightspeed > receiver), which is the case of the one in the Powerplay mat. Currently, > the only generic Ligthspeed receiver we support, and the only one that > exists AFAIK, is ther Powerplay. > > As it stands, the driver will panic when seeing a G Pro X Superlight > connected to the Powerplay receiver and won't send any input events to > userspace! The kernel will warn about this so the issue should be easy > to identify, but it is still very worrying how hard it will fail :( Applied to for-5.11/upstream-fixes, thanks Filipe.
diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c index 45e7e0bdd382..1401ee2067ca 100644 --- a/drivers/hid/hid-logitech-dj.c +++ b/drivers/hid/hid-logitech-dj.c @@ -994,7 +994,12 @@ static void logi_hidpp_recv_queue_notif(struct hid_device *hdev, workitem.reports_supported |= STD_KEYBOARD; break; case 0x0d: - device_type = "eQUAD Lightspeed 1_1"; + device_type = "eQUAD Lightspeed 1.1"; + logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); + workitem.reports_supported |= STD_KEYBOARD; + break; + case 0x0f: + device_type = "eQUAD Lightspeed 1.2"; logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); workitem.reports_supported |= STD_KEYBOARD; break;