[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <871qd31qkx.fsf@protonmail.com>
Date: Mon, 06 Nov 2023 03:57:39 +0000
From: Rahul Rameshbabu <sergeantsagara@...tonmail.com>
To: Su Hui <suhui@...china.com>
Cc: ping.cheng@...om.com, jason.gerecke@...om.com, jikos@...nel.org,
benjamin.tissoires@...hat.com, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: Re: [PATCH] HID: wacom_sys: add error code check in wacom_feature_mapping
On Fri, 20 Oct, 2023 17:02:38 +0800 "Su Hui" <suhui@...china.com> 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@...china.com>
> ---
> 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
Powered by blists - more mailing lists