All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.