Commit e6b29924 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Greg Kroah-Hartman

Bluetooth: Disconnect HIDRAW devices on disconnect

commit 364f6351 upstream.

Currently the HID subsystem will create HIDRAW devices for the transport
driver, but it will not disconnect them. Until the HID subsytem gets
fixed, ensure that HIDRAW and HIDDEV devices are disconnected when the
Bluetooth HID device gets removed.

Based on a patch from Brian Rogers <brian@xyzw.org>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 928770fb
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <linux/input.h> #include <linux/input.h>
#include <linux/hid.h> #include <linux/hid.h>
#include <linux/hidraw.h>
#include <net/bluetooth/bluetooth.h> #include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h> #include <net/bluetooth/hci_core.h>
...@@ -573,6 +574,8 @@ static int hidp_session(void *arg) ...@@ -573,6 +574,8 @@ static int hidp_session(void *arg)
if (session->hid) { if (session->hid) {
if (session->hid->claimed & HID_CLAIMED_INPUT) if (session->hid->claimed & HID_CLAIMED_INPUT)
hidinput_disconnect(session->hid); hidinput_disconnect(session->hid);
if (session->hid->claimed & HID_CLAIMED_HIDRAW)
hidraw_disconnect(session->hid);
hid_destroy_device(session->hid); hid_destroy_device(session->hid);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment