Bluetooth: hidp: Only free input device if failed register
[pandora-kernel.git] / net / bluetooth / hidp / core.c
index 26f0d10..a859f90 100644 (file)
@@ -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;
 }