Bluetooth: Fix input device registration
This is a regression fix. It made impossible use input device when hid fails. Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
parent
679344e44e
commit
3415a5fdde
|
@ -812,7 +812,7 @@ static int hidp_setup_input(struct hidp_session *session,
|
|||
struct hidp_connadd_req *req)
|
||||
{
|
||||
struct input_dev *input;
|
||||
int err, i;
|
||||
int i;
|
||||
|
||||
input = input_allocate_device();
|
||||
if (!input)
|
||||
|
@ -859,13 +859,6 @@ static int hidp_setup_input(struct hidp_session *session,
|
|||
|
||||
input->event = hidp_input_event;
|
||||
|
||||
err = input_register_device(input);
|
||||
if (err < 0) {
|
||||
input_free_device(input);
|
||||
session->input = NULL;
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1067,7 +1060,11 @@ int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock,
|
|||
!session->waiting_for_startup);
|
||||
}
|
||||
|
||||
err = hid_add_device(session->hid);
|
||||
if (session->hid)
|
||||
err = hid_add_device(session->hid);
|
||||
else
|
||||
err = input_register_device(session->input);
|
||||
|
||||
if (err < 0) {
|
||||
atomic_inc(&session->terminate);
|
||||
wake_up_process(session->task);
|
||||
|
|
Loading…
Reference in a new issue