Re: [PATCH] HID: amd_sfh: return an error when response wait times out

Basavaraj Natikar <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.kernel.input
Message-ID <[email protected]>
On 6/24/2026 8:05 PM, Pengpeng Hou wrote:
> [You don't often get email from [email protected]. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> amdtp_wait_for_response() waits for request_done before completing a
> report request. wait_event_interruptible_timeout() returns 0 when the
> wait expires, but the current code treats only negative values as errors
> and returns success on timeout.
>
> Return -ETIMEDOUT when the response wait expires while preserving the
> existing success path when the response has already been observed.
>
> Signed-off-by: Pengpeng Hou <[email protected]>
> ---
>   drivers/hid/amd-sfh-hid/amd_sfh_hid.c | 15 ++++++++-------
>   1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_hid.c b/drivers/hid/amd-sfh-hid/amd_sfh_hid.c
> index b04f675d4..8f88f965f 100644
> --- a/drivers/hid/amd-sfh-hid/amd_sfh_hid.c
> +++ b/drivers/hid/amd-sfh-hid/amd_sfh_hid.c
> @@ -87,16 +87,17 @@ static int amdtp_wait_for_response(struct hid_device *hid)
>                          break;
>          }
>
> -       if (!cli_data->request_done[i])
> +       if (!cli_data->request_done[i]) {
>                  ret = wait_event_interruptible_timeout(hid_data->hid_wait,
>                                                         cli_data->request_done[i],
>                                                         msecs_to_jiffies(AMD_SFH_RESPONSE_TIMEOUT));
> -       if (ret == -ERESTARTSYS)
> -               return -ERESTARTSYS;
> -       else if (ret < 0)
> -               return -ETIMEDOUT;
> -       else
> -               return 0;
> +               if (ret == -ERESTARTSYS)
> +                       return -ERESTARTSYS;
> +               if (ret <= 0)
> +                       return -ETIMEDOUT;
> +       }
> +
> +       return 0;
>   }

Acked-by: Basavaraj Natikar<[email protected]>

Thanks,
--
Basavaraj

>
>   void amdtp_hid_wakeup(struct hid_device *hid)
> --
> 2.50.1 (Apple Git-155)
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.