From: Martin Pitt Date: Fri, 26 Jun 2009 06:17:23 +0000 (+0200) Subject: hid2hci: narrow matches to real HCI devices X-Git-Tag: 174~926 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b53c3a21b9992915f89624f60e85fe50b7aad4ad;hp=7d063096c44630593b13eae76c03619b974e0364 hid2hci: narrow matches to real HCI devices The previous rules just checked bInterfaceProtocol but not the actual device and interface class. This caused the hci rules to be applied for Dell USB hubs and attached input devices like keyboards and mouses as well, breaking them completely. Tighten the match to also check device and interface class/subclass. https://launchpad.net/bugs/392144 --- diff --git a/extras/hid2hci/70-hid2hci.rules b/extras/hid2hci/70-hid2hci.rules index 2cb274605..caf9120f5 100644 --- a/extras/hid2hci/70-hid2hci.rules +++ b/extras/hid2hci/70-hid2hci.rules @@ -8,7 +8,7 @@ SUBSYSTEM!="usb", GOTO="hid2hci_end" # is where a HID report needs to be sent to switch modes. # # Known supported devices: 413c:8154, 413c:8158, 413c:8162 -ATTR{bInterfaceProtocol}=="02", ATTRS{idVendor}=="413c", ATTRS{bmAttributes}=="e0", \ +ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProtocol}=="02", ATTRS{bDeviceClass}=="00", ATTRS{idVendor}=="413c", ATTRS{bmAttributes}=="e0", \ RUN+="hid2hci --method dell -v $attr{idVendor} -p $attr{idProduct} --mode hci" ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"