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

Reply via email to