On Sun, 22 Mar 2015, Christian Böhme wrote: > Alan Stern <stern@...> writes: > > > I came back to this old email today, and it turns out that > > usbhid_probe() already includes the following lines: > > > > if (intf->cur_altsetting->desc.bInterfaceProtocol == > > USB_INTERFACE_PROTOCOL_MOUSE) > > hid->type = HID_TYPE_USBMOUSE; > > > > This happens before hid_add_device() is called, so it should already be > > in effect when hid_ignore() runs. > > Well, if that is indeed the case, this leaves the only other reason for > failure of the original test in hid_match_id() returning NULL. > > Given that hid_mouse_ignore_list[] actually contains the proper > (USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO) pair > as far as I can make out and assuming a properly working compiler, > hid_match_one_id() returns FALSE only if the hdev's members in question > are not properly set up. And I wouldn't know where to look for /that/. You ought to be able to figure out what's going on by adding a few debugging statements in suitable places. > On a side note, I'm a little surprised that the arguments to hid_ignore(), > hid_match_id(), and hid_match_one_id() are not const-qualified, although none > of their members are actually mutated there … That sort of thing happens all the time. People don't remember to add const qualifications because it's not obvious when they _could_ be added, the compiler doesn't complain about it, and it doesn't make much difference anyway. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html