aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r--drivers/hid/hid-input.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 53aeaf6252c7..2ba6bf69b7d0 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1510,8 +1510,9 @@ int hidinput_connect(struct hid_device *hid, unsigned int force)
1510 * UGCI) cram a lot of unrelated inputs into the 1510 * UGCI) cram a lot of unrelated inputs into the
1511 * same interface. */ 1511 * same interface. */
1512 hidinput->report = report; 1512 hidinput->report = report;
1513 if (drv->input_configured) 1513 if (drv->input_configured &&
1514 drv->input_configured(hid, hidinput); 1514 drv->input_configured(hid, hidinput))
1515 goto out_cleanup;
1515 if (input_register_device(hidinput->input)) 1516 if (input_register_device(hidinput->input))
1516 goto out_cleanup; 1517 goto out_cleanup;
1517 hidinput = NULL; 1518 hidinput = NULL;
@@ -1532,8 +1533,9 @@ int hidinput_connect(struct hid_device *hid, unsigned int force)
1532 } 1533 }
1533 1534
1534 if (hidinput) { 1535 if (hidinput) {
1535 if (drv->input_configured) 1536 if (drv->input_configured &&
1536 drv->input_configured(hid, hidinput); 1537 drv->input_configured(hid, hidinput))
1538 goto out_cleanup;
1537 if (input_register_device(hidinput->input)) 1539 if (input_register_device(hidinput->input))
1538 goto out_cleanup; 1540 goto out_cleanup;
1539 } 1541 }