Message ID | 20230206135808.8840-1-hadess@hadess.net |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2251621wrn; Mon, 6 Feb 2023 06:04:13 -0800 (PST) X-Google-Smtp-Source: AK7set/mnKDa0f6sKUZvPmt8ezf7RqTzcFDNYUDX5432MLYCJicf9D2ITqYTd86OoOOiU2e3B7A1 X-Received: by 2002:a17:903:24c:b0:198:94cb:82a5 with SMTP id j12-20020a170903024c00b0019894cb82a5mr21846912plh.4.1675692253029; Mon, 06 Feb 2023 06:04:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675692253; cv=none; d=google.com; s=arc-20160816; b=rarw6uBuqF7xftKJtj/Iz584eJzhYkTxxXDZ1FUUVqaQwN3jG3Xyz59S6TUqV+dYF2 o/0hncDdxOWuNzZJLB4T3JdXEX/at3QEtI2m3Dvwn2Q1AZVd8vQ5VhTqWy2HBT2y9IDE We5i1C6rFEFaCiSlues1qa8ZUfjJT1V8+SJdXjrPWYWgg74q99IlzVRXnCfVICIEXig6 AAEgS/Cli17LhJqfYILGu0uJqRasJvRHblkrDTy1br1y3bejOxnIFGA5bx/3BBHqGbk+ 5CmI3Qpc20wwcaPYTF047e1rMBHcWQCEjL7ECq4iKqYKYTQSOhVUSTY8aFlMqOlhung+ /qzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=g+y/j4PthGHY3Kj30JZXm8rTp7ymhl+JIKD3xUQCDQg=; b=ZSGit2bxwH5J5hyPo+T2+t3k8/RCzAAK5PqTBEPsQKZOzlyeVvR5T+lrmLUlo1njuT n2chuER14eflYwISzLngQtG2BmPSbT1uDHcX6Zn96019YoQkpY/ZIp1MwIXDdskyHu8f 5zAQjHe8rFb9RdvJgM0hghZ2bQugrf8pL3uC17yd6HKuqDZWHVgDJIJ/3CMsLc4vCW/i VJmyFaxoFx0K4+3RRCySHgfRodMK5KAvRW+OWQPkfF+7n87izMgsDl735/X7A71KwSgD F5lAUUBRvvjgIKiWAPcbtAyZBX1VSGVTnXrfHnfcvSKp8zWlIYYJoC20CDAJ1kNkc4wS hG3A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n18-20020a170902d2d200b0019623669853si13006893plc.576.2023.02.06.06.03.59; Mon, 06 Feb 2023 06:04:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229727AbjBFN7O (ORCPT <rfc822;kmanaouilinux@gmail.com> + 99 others); Mon, 6 Feb 2023 08:59:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229763AbjBFN67 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 6 Feb 2023 08:58:59 -0500 Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2395C279BA; Mon, 6 Feb 2023 05:58:15 -0800 (PST) Received: (Authenticated sender: hadess@hadess.net) by mail.gandi.net (Postfix) with ESMTPSA id D532A60003; Mon, 6 Feb 2023 13:58:09 +0000 (UTC) From: Bastien Nocera <hadess@hadess.net> To: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Jiri Kosina <jikos@kernel.org>, Benjamin Tissoires <benjamin.tissoires@redhat.com>, "Peter F . Patel-Schneider" <pfpschneider@gmail.com>, =?utf-8?q?Filipe_La?= =?utf-8?q?=C3=ADns?= <lains@riseup.net>, Nestor Lopez Casado <nlopezcasad@logitech.com> Subject: [PATCH 1/3] HID: logitech-hidpp: Add more debug statements Date: Mon, 6 Feb 2023 14:58:06 +0100 Message-Id: <20230206135808.8840-1-hadess@hadess.net> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757090679776040410?= X-GMAIL-MSGID: =?utf-8?q?1757090679776040410?= |
Series |
[1/3] HID: logitech-hidpp: Add more debug statements
|
|
Commit Message
Bastien Nocera
Feb. 6, 2023, 1:58 p.m. UTC
This should help us figure out some hairy problems with some devices.
Signed-off-by: Bastien Nocera <hadess@hadess.net>
---
drivers/hid/hid-logitech-hidpp.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
Comments
Hi Bastien, I love your patch! Perhaps something to improve: [auto build test WARNING on hid/for-next] [also build test WARNING on linus/master v6.2-rc7 next-20230206] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Bastien-Nocera/HID-logitech-hidpp-Retry-commands-when-device-is-busy/20230206-215940 base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next patch link: https://lore.kernel.org/r/20230206135808.8840-1-hadess%40hadess.net patch subject: [PATCH 1/3] HID: logitech-hidpp: Add more debug statements config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230207/202302070034.GqDB3Cje-lkp@intel.com/config) compiler: m68k-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/f201298961e2cb71de94a0c8632cb9376975959f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Bastien-Nocera/HID-logitech-hidpp-Retry-commands-when-device-is-busy/20230206-215940 git checkout f201298961e2cb71de94a0c8632cb9376975959f # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/hid/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:566, from include/asm-generic/bug.h:22, from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/asm-generic/preempt.h:5, from ./arch/m68k/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from arch/m68k/include/asm/irqflags.h:6, from include/linux/irqflags.h:16, from arch/m68k/include/asm/atomic.h:6, from include/linux/atomic.h:7, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from drivers/hid/hid-logitech-hidpp.c:13: 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", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:223:29: note: in definition of macro '__dynamic_func_call_cls' 223 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:249:9: note: in expansion of macro '_dynamic_func_call_cls' 249 | _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:272:9: note: in expansion of macro '_dynamic_func_call' 272 | _dynamic_func_call(fmt, __dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:155:9: note: in expansion of macro 'dynamic_dev_dbg' 155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:155:30: note: in expansion of macro 'dev_fmt' 155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ include/linux/hid.h:1202:9: note: in expansion of macro 'dev_dbg' 1202 | dev_dbg(&(hid)->dev, fmt, ##__VA_ARGS__) | ^~~~~~~ drivers/hid/hid-logitech-hidpp.c:342:17: note: in expansion of macro 'hid_dbg' 342 | hid_dbg(hidpp->hid_dev, | ^~~~~~~ drivers/hid/hid-logitech-hidpp.c:343:82: note: format string is defined here 343 | "Invalid number of parameters passed to command (%d != %ld)\n", | ~~^ | | | long int | %d vim +343 drivers/hid/hid-logitech-hidpp.c 333 334 static int hidpp_send_fap_command_sync(struct hidpp_device *hidpp, 335 u8 feat_index, u8 funcindex_clientid, u8 *params, int param_count, 336 struct hidpp_report *response) 337 { 338 struct hidpp_report *message; 339 int ret; 340 341 if (param_count > sizeof(message->fap.params)) { 342 hid_dbg(hidpp->hid_dev, > 343 "Invalid number of parameters passed to command (%d != %ld)\n", 344 param_count, sizeof(message->fap.params)); 345 return -EINVAL; 346 } 347 348 message = kzalloc(sizeof(struct hidpp_report), GFP_KERNEL); 349 if (!message) 350 return -ENOMEM; 351 352 if (param_count > (HIDPP_REPORT_LONG_LENGTH - 4)) 353 message->report_id = REPORT_ID_HIDPP_VERY_LONG; 354 else 355 message->report_id = REPORT_ID_HIDPP_LONG; 356 message->fap.feature_index = feat_index; 357 message->fap.funcindex_clientid = funcindex_clientid | LINUX_KERNEL_SW_ID; 358 memcpy(&message->fap.params, params, param_count); 359 360 ret = hidpp_send_message_sync(hidpp, message, response); 361 kfree(message); 362 return ret; 363 } 364
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index f44ba7be3cc5..6386d3f023ca 100644 --- a/drivers/hid/hid-logitech-hidpp.c +++ b/drivers/hid/hid-logitech-hidpp.c @@ -338,8 +338,12 @@ 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 != %ld)\n", + param_count, sizeof(message->fap.params)); return -EINVAL; + } message = kzalloc(sizeof(struct hidpp_report), GFP_KERNEL); if (!message) @@ -3440,11 +3444,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);