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
prev 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.