[PATCH] Disconnect hidraw device when an input device is disconnected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>From 487bccfd500d161dadf7b92be1ca2f8cca2b7781 Mon Sep 17 00:00:00 2001
From: Brian Rogers <brian@xxxxxxxx>
Date: Sun, 19 Jul 2009 18:23:21 -0700
Subject: [PATCH 2/2] Bluetooth: Disconnect hidraw device when an input device is disconnected

hidraw didn't exist when Bluetooth code was adapted to use the HID subsystem.
Now that it does exist, hidp is responsible for disconnecting it. Without
doing this, old hidraw devices stick around forever.

Signed-off-by: Brian Rogers <brian@xxxxxxxx>
---
 net/bluetooth/hidp/core.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
index a9f7afb..5def2db 100644
--- a/net/bluetooth/hidp/core.c
+++ b/net/bluetooth/hidp/core.c
@@ -40,6 +40,7 @@
 
 #include <linux/input.h>
 #include <linux/hid.h>
+#include <linux/hidraw.h>
 
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
@@ -574,6 +575,8 @@ static int hidp_session(void *arg)
 	if (session->hid) {
 		if (session->hid->claimed & HID_CLAIMED_INPUT)
 			hidinput_disconnect(session->hid);
+		if (session->hid->claimed & HID_CONNECT_HIDRAW)
+			hidraw_disconnect(session->hid);
 		hid_destroy_device(session->hid);
 	}
 
-- 
1.6.3.3


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux