From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 20 Jun 2018 19:46:21 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Zbigniew =?utf-8?Q?J=C4=99drzejewski-Szmek?= Cc: linux-bluetooth@vger.kernel.org, Kay Sievers , systemd-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [systemd-devel] [PATCH bluez] hid2hci: Fix udev rules for linux-4.14+ Message-ID: <20180620164621.GM20518@intel.com> References: <20180507130638.3516-1-ville.syrjala@linux.intel.com> <20180507174459.GH8805@in.waw.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 In-Reply-To: <20180507174459.GH8805@in.waw.pl> Sender: linux-kernel-owner@vger.kernel.org List-ID: 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ä > > > > 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 > > Cc: Greg Kroah-Hartman > > Cc: Marcel Holtmann > > Cc: Kay Sievers > > Cc: systemd-devel@lists.freedesktop.org > > Cc: linux-kernel@vger.kernel.org > > Cc: linux-bluetooth@vger.kernel.org > > Signed-off-by: Ville Syrjälä > > --- > > 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