diff options
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r-- | drivers/hid/hid-input.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 6559e2e3364..1483c8296d5 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -971,6 +971,9 @@ int hidinput_connect(struct hid_device *hid, unsigned int force) | |||
971 | * UGCI) cram a lot of unrelated inputs into the | 971 | * UGCI) cram a lot of unrelated inputs into the |
972 | * same interface. */ | 972 | * same interface. */ |
973 | hidinput->report = report; | 973 | hidinput->report = report; |
974 | if (hid->driver->input_register && | ||
975 | hid->driver->input_register(hid, hidinput)) | ||
976 | goto out_cleanup; | ||
974 | if (input_register_device(hidinput->input)) | 977 | if (input_register_device(hidinput->input)) |
975 | goto out_cleanup; | 978 | goto out_cleanup; |
976 | hidinput = NULL; | 979 | hidinput = NULL; |
@@ -978,6 +981,10 @@ int hidinput_connect(struct hid_device *hid, unsigned int force) | |||
978 | } | 981 | } |
979 | } | 982 | } |
980 | 983 | ||
984 | if (hidinput && hid->driver->input_register && | ||
985 | hid->driver->input_register(hid, hidinput)) | ||
986 | goto out_cleanup; | ||
987 | |||
981 | if (hidinput && input_register_device(hidinput->input)) | 988 | if (hidinput && input_register_device(hidinput->input)) |
982 | goto out_cleanup; | 989 | goto out_cleanup; |
983 | 990 | ||