Re: [PATCH v2 1/3] HID: logitech-hidpp: Add more debug statements

From: Benjamin Tissoires
Date: Thu Feb 09 2023 - 09:55:36 EST


On Feb 06 2023, Bastien Nocera wrote:
> This should help us figure out some hairy problems with some devices.
>
> Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx>

FWIW, I am currently testing this patch and will probably push it today.

Cheers,
Benjamin

> ---
>
> Fixed kernel test bot warning:
> drivers/hid/hid-logitech-hidpp.c: In function 'hidpp_send_fap_command_sync':
> >> drivers/hid/hid-logitech-hidpp.c:343:25: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=]
> 343 | "Invalid number of parameters passed to command (%d != %ld)\n",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> drivers/hid/hid-logitech-hidpp.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
> index f44ba7be3cc5..1952d8d3b6b2 100644
> --- a/drivers/hid/hid-logitech-hidpp.c
> +++ b/drivers/hid/hid-logitech-hidpp.c
> @@ -338,8 +338,13 @@ static int hidpp_send_fap_command_sync(struct hidpp_device *hidpp,
> struct hidpp_report *message;
> int ret;
>
> - if (param_count > sizeof(message->fap.params))
> + if (param_count > sizeof(message->fap.params)) {
> + hid_dbg(hidpp->hid_dev,
> + "Invalid number of parameters passed to command (%d != %llu)\n",
> + param_count,
> + (unsigned long long) sizeof(message->fap.params));
> return -EINVAL;
> + }
>
> message = kzalloc(sizeof(struct hidpp_report), GFP_KERNEL);
> if (!message)
> @@ -3440,11 +3445,17 @@ static int hi_res_scroll_enable(struct hidpp_device *hidpp)
> ret = hidpp10_enable_scrolling_acceleration(hidpp);
> multiplier = 8;
> }
> - if (ret)
> + if (ret) {
> + hid_dbg(hidpp->hid_dev,
> + "Could not enable hi-res scrolling: %d\n", ret);
> return ret;
> + }
>
> - if (multiplier == 0)
> + if (multiplier == 0) {
> + hid_dbg(hidpp->hid_dev,
> + "Invalid multiplier 0 from device, setting it to 1\n");
> multiplier = 1;
> + }
>
> hidpp->vertical_wheel_counter.wheel_multiplier = multiplier;
> hid_dbg(hidpp->hid_dev, "wheel multiplier = %d\n", multiplier);
> --
> 2.39.1
>