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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox