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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux