Bluetooth: hidp: Fix session cleanup on failed conn add
Subsystems (2)
PATCH 1/4 Bluetooth: hidp: Fix session cleanup on failed conn add
Once the session thread is running, cleanup must be handled by the session thread only.
Signed-off-by Peter Hurley <[email protected]>
--- net/bluetooth/hidp/core.c | 14 ++++++-------- 1 files changed, 6 insertions(+), 8 deletions(-)
net/bluetooth/hidp/core.c +6 -8
@@ -1044,8 +1044,12 @@ int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock, } err =hid_add_device (session->hid); -if (err <0 ) - goto err_add_device; +if (err <0 ) { +atomic_inc (&session->terminate); +wake_up_process (session->task); +up_write (&hidp_session_sem); +return err; + }if (session->input) { hidp_send_ctrl_message(session,
@@ -1059,12 +1063,6 @@ int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock,up_write (&hidp_session_sem);return 0 ; -err_add_device: -hid_destroy_device (session->hid); - session->hid =NULL ; -atomic_inc (&session->terminate); -wake_up_process (session->task); - unlink:hidp_del_timer (session);
Signature · 1 line
1.7.4.1