Skip to contentSkip to conversation

Bluetooth: hidp: Only free input device if failed register

PATCH In review Peter Hurley 1 participant 1 message Aug 5, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 3/4 Bluetooth: hidp: Only free input device if failed register

When an hidp connection is added for a boot protocol input device, only free the allocated device if device registration fails. Subsequent failures should only unregister the device (the input device api documents that unregister will also free the allocated device).

---
 net/bluetooth/hidp/core.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
net/bluetooth/hidp/core.c +2 -1
index 26f0d10..a859f90 100644
@@ -842,6 +842,8 @@ static int hidp_setup_input(struct hidp_session *session,
 
 	err = input_register_device(input);
 	if (err < 0) {
+		input_free_device(input);
+		session->input = NULL;
 		hci_conn_put_device(session->conn);
 		return err;
 	}
@@ -1089,7 +1091,6 @@ purge:
 failed:
 	up_write(&hidp_session_sem);
 
-	input_free_device(session->input);
 	kfree(session);
 	return err;
 }
Signature · 1 line
1.7.4.1