diff options
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r-- | drivers/hid/hid-input.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index d86398755b0d..6836a856c243 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -1657,16 +1657,16 @@ int hidinput_connect(struct hid_device *hid, unsigned int force) | |||
1657 | } | 1657 | } |
1658 | 1658 | ||
1659 | list_for_each_entry_safe(hidinput, next, &hid->inputs, list) { | 1659 | list_for_each_entry_safe(hidinput, next, &hid->inputs, list) { |
1660 | if ((hid->quirks & HID_QUIRK_NO_EMPTY_INPUT) && | 1660 | if (drv->input_configured && |
1661 | !hidinput_has_been_populated(hidinput)) { | 1661 | drv->input_configured(hid, hidinput)) |
1662 | goto out_unwind; | ||
1663 | |||
1664 | if (!hidinput_has_been_populated(hidinput)) { | ||
1662 | /* no need to register an input device not populated */ | 1665 | /* no need to register an input device not populated */ |
1663 | hidinput_cleanup_hidinput(hid, hidinput); | 1666 | hidinput_cleanup_hidinput(hid, hidinput); |
1664 | continue; | 1667 | continue; |
1665 | } | 1668 | } |
1666 | 1669 | ||
1667 | if (drv->input_configured && | ||
1668 | drv->input_configured(hid, hidinput)) | ||
1669 | goto out_unwind; | ||
1670 | if (input_register_device(hidinput->input)) | 1670 | if (input_register_device(hidinput->input)) |
1671 | goto out_unwind; | 1671 | goto out_unwind; |
1672 | hidinput->registered = true; | 1672 | hidinput->registered = true; |