Re: [systemd-devel] [PATCH bluez] hid2hci: Fix udev rules for linux-4.14+

From: Zbigniew JÄdrzejewski-Szmek
Date: Mon May 07 2018 - 14:13:54 EST


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.

Zbyszek