Re: [PATCH] HID: intel-thc-hid: Intel-quickspi: Fix some error codes

"Mark Pearson" <[email protected]>
Newsgroups org.kernel.vger.kernel-janitors,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Dan,

On Thu, Apr 23, 2026, at 3:10 AM, Dan Carpenter wrote:
> If we have a partial read that is supposed to be treated as failure but
> in this code we forgot to set the error code.  Return -EINVAL.
>
> Fixes: 9d8d51735a3a ("HID: intel-thc-hid: intel-quickspi: Add HIDSPI 
> protocol implementation")
> Signed-off-by: Dan Carpenter <[email protected]>
> ---
>  drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git 
> a/drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c 
> b/drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c
> index 16f780bc879b..cb19057f1191 100644
> --- a/drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c
> +++ b/drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c
> @@ -94,7 +94,7 @@ static int quickspi_get_device_descriptor(struct 
> quickspi_device *qsdev)
>  		dev_err_once(qsdev->dev, "Read DEVICE_DESCRIPTOR failed, ret = 
> %d\n", ret);
>  		dev_err_once(qsdev->dev, "DEVICE_DESCRIPTOR expected len = %u, 
> actual read = %u\n",
>  			     input_len, read_len);
> -		return ret;
> +		return ret ?: -EINVAL;
>  	}
> 
>  	input_rep_type = ((struct input_report_body_header 
> *)read_buf)->input_report_type;
> @@ -318,7 +318,7 @@ int reset_tic(struct quickspi_device *qsdev)
>  		dev_err_once(qsdev->dev, "Read RESET_RESPONSE body failed, ret = 
> %d\n", ret);
>  		dev_err_once(qsdev->dev, "RESET_RESPONSE body expected len = %u, 
> actual = %u\n",
>  			     read_len, actual_read_len);
> -		return ret;
> +		return ret ?: -EINVAL;
>  	}
> 
>  	input_rep_type = FIELD_GET(HIDSPI_IN_REP_BDY_HDR_REP_TYPE, reset_response);
> -- 
> 2.53.0

I think this would be throwing away other possible different return values from thc_tic_pio_read?
You'd be losing the -EINTR,-EBUSY, -ETIMEDOUT conditions that might be useful to the upper layers.

Should that block be split into two separate error conditions?

Mark
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.