Skip to content

Commit be8f7f2

Browse files
charles-goodixJiri Kosina
authored andcommitted
HID: hid-goodix: Return 0 when receiving an empty HID feature package
Align with the i2c-hid driver by returning 0 instead of -EINVAL when an empty response is received, ensuring that userspace programs utilizing the hidraw node receive consistent return values. Signed-off-by: Charles Wang <charles.goodix@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
1 parent c9a50b9 commit be8f7f2

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

drivers/hid/hid-goodix-spi.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ static int goodix_hid_check_ack_status(struct goodix_ts_data *ts, u32 *resp_len)
356356
dev_err(ts->dev, "hrd.size too short: %d", len);
357357
return -EINVAL;
358358
}
359-
*resp_len = len;
359+
*resp_len = len - GOODIX_HID_PKG_LEN_SIZE;
360360
return 0;
361361
}
362362

@@ -446,7 +446,10 @@ static int goodix_hid_get_raw_report(struct hid_device *hid,
446446
if (error)
447447
return error;
448448

449-
len = min(len, response_data_len - GOODIX_HID_PKG_LEN_SIZE);
449+
/* Empty reprot response */
450+
if (!response_data_len)
451+
return 0;
452+
len = min(len, response_data_len);
450453
/* Step3: read response data(skip 2bytes of hid pkg length) */
451454
error = goodix_spi_read(ts, ts->hid_report_addr +
452455
GOODIX_HID_ACK_HEADER_SIZE +

0 commit comments

Comments
 (0)