diff options
| -rw-r--r-- | drivers/hid/hid-lg.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c index 160c48919081..c06559803fd8 100644 --- a/drivers/hid/hid-lg.c +++ b/drivers/hid/hid-lg.c | |||
| @@ -242,15 +242,6 @@ static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc, | |||
| 242 | "fixing up rel/abs in Logitech report descriptor\n"); | 242 | "fixing up rel/abs in Logitech report descriptor\n"); |
| 243 | rdesc[33] = rdesc[50] = 0x02; | 243 | rdesc[33] = rdesc[50] = 0x02; |
| 244 | } | 244 | } |
| 245 | if ((drv_data->quirks & LG_FF4) && *rsize >= 101 && | ||
| 246 | rdesc[41] == 0x95 && rdesc[42] == 0x0B && | ||
| 247 | rdesc[47] == 0x05 && rdesc[48] == 0x09) { | ||
| 248 | hid_info(hdev, "fixing up Logitech Speed Force Wireless button descriptor\n"); | ||
| 249 | rdesc[41] = 0x05; | ||
| 250 | rdesc[42] = 0x09; | ||
| 251 | rdesc[47] = 0x95; | ||
| 252 | rdesc[48] = 0x0B; | ||
| 253 | } | ||
| 254 | 245 | ||
| 255 | switch (hdev->product) { | 246 | switch (hdev->product) { |
| 256 | 247 | ||
| @@ -292,6 +283,17 @@ static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc, | |||
| 292 | *rsize = sizeof(dfp_rdesc_fixed); | 283 | *rsize = sizeof(dfp_rdesc_fixed); |
| 293 | } | 284 | } |
| 294 | break; | 285 | break; |
| 286 | |||
| 287 | case USB_DEVICE_ID_LOGITECH_WII_WHEEL: | ||
| 288 | if (*rsize >= 101 && rdesc[41] == 0x95 && rdesc[42] == 0x0B && | ||
| 289 | rdesc[47] == 0x05 && rdesc[48] == 0x09) { | ||
| 290 | hid_info(hdev, "fixing up Logitech Speed Force Wireless report descriptor\n"); | ||
| 291 | rdesc[41] = 0x05; | ||
| 292 | rdesc[42] = 0x09; | ||
| 293 | rdesc[47] = 0x95; | ||
| 294 | rdesc[48] = 0x0B; | ||
| 295 | } | ||
| 296 | break; | ||
| 295 | } | 297 | } |
| 296 | 298 | ||
| 297 | return rdesc; | 299 | return rdesc; |
