Re: [PATCH] HID: wacom_sys: add error code check in wacom_feature_mapping

From: Rahul Rameshbabu
Date: Sun Nov 05 2023 - 22:57:52 EST


On Fri, 20 Oct, 2023 17:02:38 +0800 "Su Hui" <suhui@xxxxxxxxxxxx> wrote:
> hid_report_raw_event() can return error code like '-ENOMEM' if
> failed, so check 'ret' to make sure all things work fine.

I can agree with adding logging for error cases personally.

>
> Signed-off-by: Su Hui <suhui@xxxxxxxxxxxx>
> ---
> drivers/hid/wacom_sys.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
> index 3f704b8072e8..1f898d4ee708 100644
> --- a/drivers/hid/wacom_sys.c
> +++ b/drivers/hid/wacom_sys.c
> @@ -320,6 +320,8 @@ static void wacom_feature_mapping(struct hid_device *hdev,
> if (ret == n && features->type == HID_GENERIC) {
> ret = hid_report_raw_event(hdev,
> HID_FEATURE_REPORT, data, n, 0);
> + if (ret)
> + hid_warn(hdev, "failed to report feature\n");

I think we should report the returned error information as well.

https://docs.kernel.org/core-api/printk-formats.html#error-pointers

Typically what I do is use ERR_PTR in tandem with the %pe modifier for
printing errors.

> } else if (ret == 2 && features->type != HID_GENERIC) {
> features->touch_max = data[1];
> } else {
> @@ -381,6 +383,8 @@ static void wacom_feature_mapping(struct hid_device *hdev,
> if (ret == n) {
> ret = hid_report_raw_event(hdev, HID_FEATURE_REPORT,
> data, n, 0);
> + if (ret)
> + hid_warn(hdev, "failed to report feature\n");
> } else {
> hid_warn(hdev, "%s: could not retrieve sensor offsets\n",
> __func__);

--
Thanks for the patch,

Rahul Rameshbabu