On Mon, May 07, 2018 at 05:44:59PM +0000, Zbigniew Jędrzejewski-Szmek wrote: > On Mon, May 07, 2018 at 04:06:38PM +0300, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > Since commit 1455cf8dbfd0 ("driver core: emit uevents when > > device is bound to a driver") the kernel started emitting > > "bound" and "unbound" uevents which confuse the hid2hci > > udev rules. > > > > The symptoms on an affected machine (Dell E5400 in my case) > > include bluetooth devices not appearing and udev hogging > > the cpu as it's busy processing a constant stream of these > > "bound"+"unbound" uevents. > > > > Change the udev rules only kick in for an "add" event. > > This seems to cure my machine at least. > > > > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> > > Cc: Kay Sievers <kay.sievers@xxxxxxxx> > > Cc: systemd-devel@xxxxxxxxxxxxxxxxxxxxx > > Cc: linux-kernel@xxxxxxxxxxxxxxx > > Cc: linux-bluetooth@xxxxxxxxxxxxxxx > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > --- > > tools/hid2hci.rules | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/hid2hci.rules b/tools/hid2hci.rules > > index db6bb03d2ef3..daa381d77387 100644 > > --- a/tools/hid2hci.rules > > +++ b/tools/hid2hci.rules > > @@ -1,6 +1,6 @@ > > # do not edit this file, it will be overwritten on update > > > > -ACTION=="remove", GOTO="hid2hci_end" > > +ACTION!="add", GOTO="hid2hci_end" > > SUBSYSTEM!="usb*", GOTO="hid2hci_end" > > This will skip over lines 22-23. Is the rule there supposed to > work for ACTION==add only (in which case your patch would be OK), > or also for ACTION==change? Maybe it'd be safer to just add the GOTO > for bind/unbind. Forgot about this one. Thanks for catching that. I think checking for "add|change" is the sanest approach. I fired off a v2 with that approach. Actually I'm not sure if this change stuff is working at all in any case. On my systems udevadm is in /bin, but this rules file hardcodes /sbin/udevadm as the path. -- Ville Syrjälä Intel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html