From: Benjamin Tissoires <[email protected]>
When the Bluetooth LE device disconnects, make sure to also destroy the
uHID device so that we don't have a lingering HID device accessible from
user-space.
This also fixes the input subsystem never seeing the device reattaching,
causing settings that should be applied on connection not to be applied.
https://bugzilla.kernel.org/show_bug.cgi?id=202909
Tested-by: Bastien Nocera <[email protected]>
---
profiles/input/hog.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/profiles/input/hog.c b/profiles/input/hog.c
index 23c9c1529..83c017dcb 100644
--- a/profiles/input/hog.c
+++ b/profiles/input/hog.c
@@ -199,6 +199,8 @@ static int hog_disconnect(struct btd_service *service)
struct hog_device *dev = btd_service_get_user_data(service);
bt_hog_detach(dev->hog);
+ bt_hog_unref(dev->hog);
+ dev->hog = NULL;
btd_service_disconnecting_complete(service, 0);
--
2.21.0
Hi,
On Friday, 14 June 2019 17:31:25 CEST Bastien Nocera wrote:
> From: Benjamin Tissoires <[email protected]>
>
> When the Bluetooth LE device disconnects, make sure to also destroy the
> uHID device so that we don't have a lingering HID device accessible from
> user-space.
>
> This also fixes the input subsystem never seeing the device reattaching,
> causing settings that should be applied on connection not to be applied.
>
> https://bugzilla.kernel.org/show_bug.cgi?id=202909
>
> Tested-by: Bastien Nocera <[email protected]>
> ---
> profiles/input/hog.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/profiles/input/hog.c b/profiles/input/hog.c
> index 23c9c1529..83c017dcb 100644
> --- a/profiles/input/hog.c
> +++ b/profiles/input/hog.c
> @@ -199,6 +199,8 @@ static int hog_disconnect(struct btd_service *service)
> struct hog_device *dev = btd_service_get_user_data(service);
>
> bt_hog_detach(dev->hog);
> + bt_hog_unref(dev->hog);
> + dev->hog = NULL;
>
> btd_service_disconnecting_complete(service, 0);
I've tested this with device I have and introduced delay is acceptable imho.
Since this fix end-user usabiblity for some of the devices on the market I
think the trade-off is justified.
Patch is now applied.
--
pozdrawiam
Szymon Janc