>>> Ah-ha, actually, when taking a closer look at this, I see that lgff >>> isn't using ID "0", it's actually using "the first report in the >>> list", without using an ID at all. This appears to be true for all the >>> lg*ff devices, actually. Instead of validating ID 0, it needs to >>> validate "the first report". > + if (!report && id == 0) { > + /* > + * Requesting id 0 means we should fall back to the first > + * report in the list. > + */ > + report = list_entry( > + hid->report_enum[type].report_list.next, > + struct hid_report, list); > + } Is the task of this check to locate/check the 'output' report? Because for this particular device it is defined in Report ID 3, the third one in descriptor. So would presumably still fail to be found. I don't have any devices which use hid-lgff, but have some which use hid-lg4ff which was also changed to perform the same test. I can check their operation/HID reports over the weekend. Simon. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html