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>
This commit is contained in:
Charles Wang 2024-10-31 20:31:12 +08:00 committed by Jiri Kosina
parent c9a50b9090
commit be8f7f2281

View File

@ -356,7 +356,7 @@ static int goodix_hid_check_ack_status(struct goodix_ts_data *ts, u32 *resp_len)
dev_err(ts->dev, "hrd.size too short: %d", len);
return -EINVAL;
}
*resp_len = len;
*resp_len = len - GOODIX_HID_PKG_LEN_SIZE;
return 0;
}
@ -446,7 +446,10 @@ static int goodix_hid_get_raw_report(struct hid_device *hid,
if (error)
return error;
len = min(len, response_data_len - GOODIX_HID_PKG_LEN_SIZE);
/* Empty reprot response */
if (!response_data_len)
return 0;
len = min(len, response_data_len);
/* Step3: read response data(skip 2bytes of hid pkg length) */
error = goodix_spi_read(ts, ts->hid_report_addr +
GOODIX_HID_ACK_HEADER_SIZE +