Bluetooth: Fix missing scheduling when VIRTUAL_CABLE_UNPLUG is received
authorVikram Kandukuri <vkandukuri@atheros.com>
Wed, 1 Jul 2009 06:09:58 +0000 (11:39 +0530)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 22 Aug 2009 21:12:17 +0000 (14:12 -0700)
There is a test case in PTS tool; PTS will send the VIRTUAL_CABLE_UNPLUG
command to IUT. Then IUT should disconnect the channel and kill the HID
session when it receives the command. The VIRTUAL_CABLE_UNPLUG command
is parsed by HID transport, but it is not scheduled to do so. Add a
call to hidp_schedule() to kill the session.

Signed-off-by: Jothikumar Mothilal <jothikumar.mothilal@atheros.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hidp/core.c

index b186768..a9f7afb 100644 (file)
@@ -374,6 +374,7 @@ static void hidp_process_hid_control(struct hidp_session *session,
 
                /* Kill session thread */
                atomic_inc(&session->terminate);
 
                /* Kill session thread */
                atomic_inc(&session->terminate);
+               hidp_schedule(session);
        }
 }
 
        }
 }