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://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b53c3a21b9992915f89624f60e85fe50b7aad4ad;p=systemd 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 2cb27460..caf9120f 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"