Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Fixes: c7083d3f5348 ("HID: alps: properly handle max_fingers and minimum on X and Y axis") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Zhang Changzhong <zhangchangzhong@xxxxxxxxxx> --- drivers/hid/hid-alps.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c index 3feaece..17782a6 100644 --- a/drivers/hid/hid-alps.c +++ b/drivers/hid/hid-alps.c @@ -759,7 +759,8 @@ static int alps_input_configured(struct hid_device *hdev, struct hid_input *hi) __set_bit(INPUT_PROP_POINTER, input2->propbit); __set_bit(INPUT_PROP_POINTING_STICK, input2->propbit); - if (input_register_device(data->input2)) { + ret = input_register_device(data->input2); + if (ret) { input_free_device(input2); goto exit; } -- 2.9.5