lkml.org 
[lkml]   [2018]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [systemd-devel] [PATCH bluez] hid2hci: Fix udev rules for linux-4.14+
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@linux.intel.com>
> >
> > 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@gmail.com>
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: Marcel Holtmann <marcel@holtmann.org>
> > Cc: Kay Sievers <kay.sievers@vrfy.org>
> > Cc: systemd-devel@lists.freedesktop.org
> > Cc: linux-kernel@vger.kernel.org
> > Cc: linux-bluetooth@vger.kernel.org
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > 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

\
 
 \ /
  Last update: 2018-06-20 18:47    [W:0.086 / U:0.868 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site