Linux USB
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Li Zhong <floridsleeves@gmail.com>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Cc: kbuild-all@lists.01.org, heghedus.razvan@gmail.com,
	evgreen@chromium.org, yuanjilin@cdjrlc.com,
	stern@rowland.harvard.edu, jj251510319013@gmail.com,
	gregkh@linuxfoundation.org, Li Zhong <floridsleeves@gmail.com>
Subject: Re: [PATCH v1] drivers/usb/core/driver: check return value of usb_set_interface()
Date: Fri, 9 Sep 2022 19:23:33 +0800	[thread overview]
Message-ID: <202209091933.ydDI9QtH-lkp@intel.com> (raw)
In-Reply-To: <20220909044215.2620024-1-floridsleeves@gmail.com>

Hi Li,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on usb/usb-testing]
[also build test ERROR on westeri-thunderbolt/next staging/staging-testing linus/master v6.0-rc4 next-20220909]
[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/Li-Zhong/drivers-usb-core-driver-check-return-value-of-usb_set_interface/20220909-124349
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220909/202209091933.ydDI9QtH-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/720d6f8c6938ee748288a012e3212b26962a7960
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Li-Zhong/drivers-usb-core-driver-check-return-value-of-usb_set_interface/20220909-124349
        git checkout 720d6f8c6938ee748288a012e3212b26962a7960
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/usb/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/device.h:15,
                    from drivers/usb/core/driver.c:28:
   drivers/usb/core/driver.c: In function 'usb_resume_interface':
>> drivers/usb/core/driver.c:1337:45: error: incompatible type for argument 1 of '_dev_err'
    1337 |                                 dev_err(intf->dev, "usb_set_interface error %d\n",
         |                                         ~~~~^~~~~
         |                                             |
         |                                             struct device
   include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                         ^~~
   drivers/usb/core/driver.c:1337:33: note: in expansion of macro 'dev_err'
    1337 |                                 dev_err(intf->dev, "usb_set_interface error %d\n",
         |                                 ^~~~~~~
   include/linux/dev_printk.h:50:36: note: expected 'const struct device *' but argument is of type 'struct device'
      50 | void _dev_err(const struct device *dev, const char *fmt, ...);
         |               ~~~~~~~~~~~~~~~~~~~~~^~~


vim +/_dev_err +1337 drivers/usb/core/driver.c

  1316	
  1317	static int usb_resume_interface(struct usb_device *udev,
  1318			struct usb_interface *intf, pm_message_t msg, int reset_resume)
  1319	{
  1320		struct usb_driver	*driver;
  1321		int			status = 0;
  1322	
  1323		if (udev->state == USB_STATE_NOTATTACHED)
  1324			goto done;
  1325	
  1326		/* Don't let autoresume interfere with unbinding */
  1327		if (intf->condition == USB_INTERFACE_UNBINDING)
  1328			goto done;
  1329	
  1330		/* Can't resume it if it doesn't have a driver. */
  1331		if (intf->condition == USB_INTERFACE_UNBOUND) {
  1332	
  1333			/* Carry out a deferred switch to altsetting 0 */
  1334			if (intf->needs_altsetting0 && !intf->dev.power.is_prepared) {
  1335				status = usb_set_interface(udev, intf->altsetting[0].desc.bInterfaceNumber, 0);
  1336				if (status < 0)
> 1337					dev_err(intf->dev, "usb_set_interface error %d\n",
  1338								status);
  1339				intf->needs_altsetting0 = 0;
  1340			}
  1341			goto done;
  1342		}
  1343	
  1344		/* Don't resume if the interface is marked for rebinding */
  1345		if (intf->needs_binding)
  1346			goto done;
  1347		driver = to_usb_driver(intf->dev.driver);
  1348	
  1349		if (reset_resume) {
  1350			if (driver->reset_resume) {
  1351				status = driver->reset_resume(intf);
  1352				if (status)
  1353					dev_err(&intf->dev, "%s error %d\n",
  1354							"reset_resume", status);
  1355			} else {
  1356				intf->needs_binding = 1;
  1357				dev_dbg(&intf->dev, "no reset_resume for driver %s?\n",
  1358						driver->name);
  1359			}
  1360		} else {
  1361			status = driver->resume(intf);
  1362			if (status)
  1363				dev_err(&intf->dev, "resume error %d\n", status);
  1364		}
  1365	
  1366	done:
  1367		dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status);
  1368	
  1369		/* Later we will unbind the driver and/or reprobe, if necessary */
  1370		return status;
  1371	}
  1372	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

      parent reply	other threads:[~2022-09-09 11:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-09  4:42 [PATCH v1] drivers/usb/core/driver: check return value of usb_set_interface() Li Zhong
2022-09-09  5:27 ` Greg KH
2022-09-09 10:12 ` kernel test robot
2022-09-09 10:21 ` Greg KH
2022-09-09 11:23 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202209091933.ydDI9QtH-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=evgreen@chromium.org \
    --cc=floridsleeves@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heghedus.razvan@gmail.com \
    --cc=jj251510319013@gmail.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=yuanjilin@cdjrlc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox