Re: [PATCH v2 BlueZ] hid2hci: Fix udev rules for linux-4.14+

From: Dag B
Date: Wed Dec 05 2018 - 14:14:02 EST




On 05.12.2018 16:40, Ville SyrjÃlà wrote:
On Wed, Dec 05, 2018 at 08:06:21AM +0100, Greg Kroah-Hartman wrote:
On Tue, Dec 04, 2018 at 10:41:17PM +0200, 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
"bind" and "unbind" 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
"bind"+"unbind" uevents.
What is causing a "stream" of bind and unbind events? This only happens
when a device is attached to a driver or removed from a driver, which is
caused by something else happening.
Not sure if it's just due to this thing causing devices to
appear/disappear during bind/unbind events or what.

This should not be a normal
occurance, unless something odd is happening to your hardware?
It's not specific to my hardware. Lot's of people are affected.
See eg.
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1759836

Acutally looking through that bug it seems someone else noticed
hid2hci failing lot in the logs. So maybe it's just that we already
switched the mode during "add", and then we try to redo the same
thing during "bind" which fails, and that then causes and unbind?
Dunno, udev is beyond me.


There is another bluetooth scenario where a cpu core peaks at 100%.
This is when a bluetooth keyboard goes out to lunch/suspends/disappears.
No idea if this is related to the original issue, asking forgiveness if it is not.
I have found it challenging to attract any attention to the problem, despite it not being an entirely new or uncommon occurence.

Google the following terms: bluetooth keyboard bluetoothd linux 100% cpu



By chance, I discovered a supposed fix for this on github today. I have not had the chance to test it (or if it even applies) yet:

https://github.com/peak3d/bluez/commit/9cc3c1afd793e40b1a0cdc4a13e08b5e2575759e

Could someone please shine a light on the sanity of this patch?



Dag B