lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 7 Jan 2019 15:31:52 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Kai-Heng Feng <kai.heng.feng@...onical.com>
Cc:     kbuild-all@...org, jikos@...nel.org, benjamin.tissoires@...hat.com,
        linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
        Kai-Heng Feng <kai.heng.feng@...onical.com>
Subject: Re: [PATCH v2] HID: i2c-hid: Ignore input report if there's no data
 present on Elan touchpanels

Hi Kai-Heng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0-rc1]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Kai-Heng-Feng/HID-i2c-hid-Ignore-input-report-if-there-s-no-data-present-on-Elan-touchpanels/20190107-142834
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/hid/i2c-hid/i2c-hid-core.c: In function 'i2c_hid_get_input':
   drivers/hid/i2c-hid/i2c-hid-core.c:510:37: warning: missing terminating " character
      dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but
                                        ^
   drivers/hid/i2c-hid/i2c-hid-core.c:511:15: warning: missing terminating ' character
             there's no data\n", __func__);
                  ^
   drivers/hid/i2c-hid/i2c-hid-core.c:1359: error: unterminated argument list invoking macro "dev_warn_once"
    MODULE_LICENSE("GPL");
    
>> drivers/hid/i2c-hid/i2c-hid-core.c:510:3: error: 'dev_warn_once' undeclared (first use in this function); did you mean 'dev_fwnode'?
      dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but
      ^~~~~~~~~~~~~
      dev_fwnode
   drivers/hid/i2c-hid/i2c-hid-core.c:510:3: note: each undeclared identifier is reported only once for each function it appears in
   drivers/hid/i2c-hid/i2c-hid-core.c:510:16: error: expected ';' at end of input
      dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but
                   ^
                   ;
   drivers/hid/i2c-hid/i2c-hid-core.c:1359:
    MODULE_LICENSE("GPL");
                    
   drivers/hid/i2c-hid/i2c-hid-core.c:510:3: error: expected declaration or statement at end of input
      dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but
      ^~~~~~~~~~~~~
   drivers/hid/i2c-hid/i2c-hid-core.c:510:3: error: expected declaration or statement at end of input
   At top level:
   drivers/hid/i2c-hid/i2c-hid-core.c:481:13: warning: 'i2c_hid_get_input' defined but not used [-Wunused-function]
    static void i2c_hid_get_input(struct i2c_hid *ihid)
                ^~~~~~~~~~~~~~~~~
   drivers/hid/i2c-hid/i2c-hid-core.c:441:12: warning: 'i2c_hid_hwreset' defined but not used [-Wunused-function]
    static int i2c_hid_hwreset(struct i2c_client *client)
               ^~~~~~~~~~~~~~~
   drivers/hid/i2c-hid/i2c-hid-core.c:330:12: warning: 'i2c_hid_set_or_send_report' defined but not used [-Wunused-function]
    static int i2c_hid_set_or_send_report(struct i2c_client *client, u8 reportType,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hid/i2c-hid/i2c-hid-core.c:291:12: warning: 'i2c_hid_get_report' defined but not used [-Wunused-function]
    static int i2c_hid_get_report(struct i2c_client *client, u8 reportType,
               ^~~~~~~~~~~~~~~~~~
   drivers/hid/i2c-hid/i2c-hid-core.c:195:12: warning: 'i2c_hid_lookup_quirk' defined but not used [-Wunused-function]
    static u32 i2c_hid_lookup_quirk(const u16 idVendor, const u16 idProduct)
               ^~~~~~~~~~~~~~~~~~~~

vim +510 drivers/hid/i2c-hid/i2c-hid-core.c

   480	
   481	static void i2c_hid_get_input(struct i2c_hid *ihid)
   482	{
   483		int ret;
   484		u32 ret_size;
   485		int size = le16_to_cpu(ihid->hdesc.wMaxInputLength);
   486	
   487		if (size > ihid->bufsize)
   488			size = ihid->bufsize;
   489	
   490		ret = i2c_master_recv(ihid->client, ihid->inbuf, size);
   491		if (ret != size) {
   492			if (ret < 0)
   493				return;
   494	
   495			dev_err(&ihid->client->dev, "%s: got %d data instead of %d\n",
   496				__func__, ret, size);
   497			return;
   498		}
   499	
   500		ret_size = ihid->inbuf[0] | ihid->inbuf[1] << 8;
   501	
   502		if (!ret_size) {
   503			/* host or device initiated RESET completed */
   504			if (test_and_clear_bit(I2C_HID_RESET_PENDING, &ihid->flags))
   505				wake_up(&ihid->wait);
   506			return;
   507		}
   508	
   509		if (ihid->quirks & I2C_HID_QUIRK_BOGUS_IRQ && ret_size == 0xffff) {
 > 510			dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but
   511				      there's no data\n", __func__);
   512			return;
   513		}
   514	
   515		if ((ret_size > size) || (ret_size < 2)) {
   516			dev_err(&ihid->client->dev, "%s: incomplete report (%d/%d)\n",
   517				__func__, size, ret_size);
   518			return;
   519		}
   520	
   521		i2c_hid_dbg(ihid, "input: %*ph\n", ret_size, ihid->inbuf);
   522	
   523		if (test_bit(I2C_HID_STARTED, &ihid->flags))
   524			hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + 2,
   525					ret_size - 2, 1);
   526	
   527		return;
   528	}
   529	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (56239 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ