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/. 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 … Cheers, Christian ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥