Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5836246 authored by Simon Wood's avatar Simon Wood Committed by Jiri Kosina
Browse files

HID: LG: Fix detection of Logitech Speed Force Wireless (WiiWheel)



Previously 'LG4FF' was only used for the WiiWheel, however it is now used
for all the Logitech Wheels. This patch corrects the detection mechanism
for the patching the report descriptor to ensure only the WiiWheel will
be patched.

Signed-off-by: default avatarSimon Wood <simon@mungewell.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 270baef1
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -242,15 +242,6 @@ static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc,
			 "fixing up rel/abs in Logitech report descriptor\n");
		rdesc[33] = rdesc[50] = 0x02;
	}
	if ((drv_data->quirks & LG_FF4) && *rsize >= 101 &&
			rdesc[41] == 0x95 && rdesc[42] == 0x0B &&
			rdesc[47] == 0x05 && rdesc[48] == 0x09) {
		hid_info(hdev, "fixing up Logitech Speed Force Wireless button descriptor\n");
		rdesc[41] = 0x05;
		rdesc[42] = 0x09;
		rdesc[47] = 0x95;
		rdesc[48] = 0x0B;
	}

	switch (hdev->product) {

@@ -292,6 +283,17 @@ static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc,
			*rsize = sizeof(dfp_rdesc_fixed);
		}
		break;

	case USB_DEVICE_ID_LOGITECH_WII_WHEEL:
		if (*rsize >= 101 && rdesc[41] == 0x95 && rdesc[42] == 0x0B &&
				rdesc[47] == 0x05 && rdesc[48] == 0x09) {
			hid_info(hdev, "fixing up Logitech Speed Force Wireless report descriptor\n");
			rdesc[41] = 0x05;
			rdesc[42] = 0x09;
			rdesc[47] = 0x95;
			rdesc[48] = 0x0B;
		}
		break;
	}

	return rdesc;