aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hidp
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-08-22 17:15:53 -0400
committerMarcel Holtmann <marcel@holtmann.org>2009-08-22 17:15:53 -0400
commit364f63519d94442ed373ac7da79033c8282df46a (patch)
treeaf17fa090f2525e562396dbb2916199635ca1197 /net/bluetooth/hidp
parent290ba200815fdecb4d40dc942499c4ea6d0c4624 (diff)
Bluetooth: Disconnect HIDRAW devices on disconnect
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: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/hidp')
-rw-r--r--net/bluetooth/hidp/core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
index a9f7afb6ee3..f912d653718 100644
--- a/net/bluetooth/hidp/core.c
+++ b/net/bluetooth/hidp/core.c
@@ -40,6 +40,7 @@
40 40
41#include <linux/input.h> 41#include <linux/input.h>
42#include <linux/hid.h> 42#include <linux/hid.h>
43#include <linux/hidraw.h>
43 44
44#include <net/bluetooth/bluetooth.h> 45#include <net/bluetooth/bluetooth.h>
45#include <net/bluetooth/hci_core.h> 46#include <net/bluetooth/hci_core.h>
@@ -574,6 +575,8 @@ static int hidp_session(void *arg)
574 if (session->hid) { 575 if (session->hid) {
575 if (session->hid->claimed & HID_CLAIMED_INPUT) 576 if (session->hid->claimed & HID_CLAIMED_INPUT)
576 hidinput_disconnect(session->hid); 577 hidinput_disconnect(session->hid);
578 if (session->hid->claimed & HID_CLAIMED_HIDRAW)
579 hidraw_disconnect(session->hid);
577 hid_destroy_device(session->hid); 580 hid_destroy_device(session->hid);
578 } 581 }
579 582