* [linux-next:master 1894/9861] drivers/usb/host/fhci-hcd.c:398:8: warning: this statement may fall through
@ 2020-01-19 22:30 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-01-19 22:30 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 7444 bytes --]
Hi Rasmus,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: de970dffa7d19eae1d703c3534825308ef8d5dec
commit: 5a35435ef4e6e4bd2aabd6706b146b298a9cffe5 [1894/9861] soc: fsl: qe: remove PPC32 dependency from CONFIG_QUICC_ENGINE
config: powerpc-randconfig-a001-20200120 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 5a35435ef4e6e4bd2aabd6706b146b298a9cffe5
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/usb/host/fhci-hcd.c: In function 'fhci_urb_enqueue':
>> drivers/usb/host/fhci-hcd.c:398:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
size = 2;
~~~~~^~~
drivers/usb/host/fhci-hcd.c:399:2: note: here
case PIPE_BULK:
^~~~
vim +398 drivers/usb/host/fhci-hcd.c
236dd4d18f293e Anton Vorontsov 2009-01-10 383
236dd4d18f293e Anton Vorontsov 2009-01-10 384 static int fhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
236dd4d18f293e Anton Vorontsov 2009-01-10 385 gfp_t mem_flags)
236dd4d18f293e Anton Vorontsov 2009-01-10 386 {
236dd4d18f293e Anton Vorontsov 2009-01-10 387 struct fhci_hcd *fhci = hcd_to_fhci(hcd);
236dd4d18f293e Anton Vorontsov 2009-01-10 388 u32 pipe = urb->pipe;
236dd4d18f293e Anton Vorontsov 2009-01-10 389 int ret;
236dd4d18f293e Anton Vorontsov 2009-01-10 390 int i;
236dd4d18f293e Anton Vorontsov 2009-01-10 391 int size = 0;
236dd4d18f293e Anton Vorontsov 2009-01-10 392 struct urb_priv *urb_priv;
236dd4d18f293e Anton Vorontsov 2009-01-10 393 unsigned long flags;
236dd4d18f293e Anton Vorontsov 2009-01-10 394
236dd4d18f293e Anton Vorontsov 2009-01-10 395 switch (usb_pipetype(pipe)) {
236dd4d18f293e Anton Vorontsov 2009-01-10 396 case PIPE_CONTROL:
236dd4d18f293e Anton Vorontsov 2009-01-10 397 /* 1 td fro setup,1 for ack */
236dd4d18f293e Anton Vorontsov 2009-01-10 @398 size = 2;
236dd4d18f293e Anton Vorontsov 2009-01-10 399 case PIPE_BULK:
236dd4d18f293e Anton Vorontsov 2009-01-10 400 /* one td for every 4096 bytes(can be up to 8k) */
236dd4d18f293e Anton Vorontsov 2009-01-10 401 size += urb->transfer_buffer_length / 4096;
236dd4d18f293e Anton Vorontsov 2009-01-10 402 /* ...add for any remaining bytes... */
236dd4d18f293e Anton Vorontsov 2009-01-10 403 if ((urb->transfer_buffer_length % 4096) != 0)
236dd4d18f293e Anton Vorontsov 2009-01-10 404 size++;
236dd4d18f293e Anton Vorontsov 2009-01-10 405 /* ..and maybe a zero length packet to wrap it up */
236dd4d18f293e Anton Vorontsov 2009-01-10 406 if (size == 0)
236dd4d18f293e Anton Vorontsov 2009-01-10 407 size++;
236dd4d18f293e Anton Vorontsov 2009-01-10 408 else if ((urb->transfer_flags & URB_ZERO_PACKET) != 0
236dd4d18f293e Anton Vorontsov 2009-01-10 409 && (urb->transfer_buffer_length
236dd4d18f293e Anton Vorontsov 2009-01-10 410 % usb_maxpacket(urb->dev, pipe,
236dd4d18f293e Anton Vorontsov 2009-01-10 411 usb_pipeout(pipe))) != 0)
236dd4d18f293e Anton Vorontsov 2009-01-10 412 size++;
236dd4d18f293e Anton Vorontsov 2009-01-10 413 break;
236dd4d18f293e Anton Vorontsov 2009-01-10 414 case PIPE_ISOCHRONOUS:
236dd4d18f293e Anton Vorontsov 2009-01-10 415 size = urb->number_of_packets;
236dd4d18f293e Anton Vorontsov 2009-01-10 416 if (size <= 0)
236dd4d18f293e Anton Vorontsov 2009-01-10 417 return -EINVAL;
236dd4d18f293e Anton Vorontsov 2009-01-10 418 for (i = 0; i < urb->number_of_packets; i++) {
236dd4d18f293e Anton Vorontsov 2009-01-10 419 urb->iso_frame_desc[i].actual_length = 0;
236dd4d18f293e Anton Vorontsov 2009-01-10 420 urb->iso_frame_desc[i].status = (u32) (-EXDEV);
236dd4d18f293e Anton Vorontsov 2009-01-10 421 }
236dd4d18f293e Anton Vorontsov 2009-01-10 422 break;
236dd4d18f293e Anton Vorontsov 2009-01-10 423 case PIPE_INTERRUPT:
236dd4d18f293e Anton Vorontsov 2009-01-10 424 size = 1;
236dd4d18f293e Anton Vorontsov 2009-01-10 425 }
236dd4d18f293e Anton Vorontsov 2009-01-10 426
236dd4d18f293e Anton Vorontsov 2009-01-10 427 /* allocate the private part of the URB */
236dd4d18f293e Anton Vorontsov 2009-01-10 428 urb_priv = kzalloc(sizeof(*urb_priv), mem_flags);
236dd4d18f293e Anton Vorontsov 2009-01-10 429 if (!urb_priv)
236dd4d18f293e Anton Vorontsov 2009-01-10 430 return -ENOMEM;
236dd4d18f293e Anton Vorontsov 2009-01-10 431
236dd4d18f293e Anton Vorontsov 2009-01-10 432 /* allocate the private part of the URB */
4585ef11d23aa9 Julia Lawall 2009-12-30 433 urb_priv->tds = kcalloc(size, sizeof(*urb_priv->tds), mem_flags);
236dd4d18f293e Anton Vorontsov 2009-01-10 434 if (!urb_priv->tds) {
236dd4d18f293e Anton Vorontsov 2009-01-10 435 kfree(urb_priv);
236dd4d18f293e Anton Vorontsov 2009-01-10 436 return -ENOMEM;
236dd4d18f293e Anton Vorontsov 2009-01-10 437 }
236dd4d18f293e Anton Vorontsov 2009-01-10 438
236dd4d18f293e Anton Vorontsov 2009-01-10 439 spin_lock_irqsave(&fhci->lock, flags);
236dd4d18f293e Anton Vorontsov 2009-01-10 440
236dd4d18f293e Anton Vorontsov 2009-01-10 441 ret = usb_hcd_link_urb_to_ep(hcd, urb);
236dd4d18f293e Anton Vorontsov 2009-01-10 442 if (ret)
236dd4d18f293e Anton Vorontsov 2009-01-10 443 goto err;
236dd4d18f293e Anton Vorontsov 2009-01-10 444
236dd4d18f293e Anton Vorontsov 2009-01-10 445 /* fill the private part of the URB */
236dd4d18f293e Anton Vorontsov 2009-01-10 446 urb_priv->num_of_tds = size;
236dd4d18f293e Anton Vorontsov 2009-01-10 447
236dd4d18f293e Anton Vorontsov 2009-01-10 448 urb->status = -EINPROGRESS;
236dd4d18f293e Anton Vorontsov 2009-01-10 449 urb->actual_length = 0;
236dd4d18f293e Anton Vorontsov 2009-01-10 450 urb->error_count = 0;
236dd4d18f293e Anton Vorontsov 2009-01-10 451 urb->hcpriv = urb_priv;
236dd4d18f293e Anton Vorontsov 2009-01-10 452
236dd4d18f293e Anton Vorontsov 2009-01-10 453 fhci_queue_urb(fhci, urb);
236dd4d18f293e Anton Vorontsov 2009-01-10 454 err:
236dd4d18f293e Anton Vorontsov 2009-01-10 455 if (ret) {
236dd4d18f293e Anton Vorontsov 2009-01-10 456 kfree(urb_priv->tds);
236dd4d18f293e Anton Vorontsov 2009-01-10 457 kfree(urb_priv);
236dd4d18f293e Anton Vorontsov 2009-01-10 458 }
236dd4d18f293e Anton Vorontsov 2009-01-10 459 spin_unlock_irqrestore(&fhci->lock, flags);
236dd4d18f293e Anton Vorontsov 2009-01-10 460 return ret;
236dd4d18f293e Anton Vorontsov 2009-01-10 461 }
236dd4d18f293e Anton Vorontsov 2009-01-10 462
:::::: The code at line 398 was first introduced by commit
:::::: 236dd4d18f293e3c9798f35c08272196826a980d USB: Driver for Freescale QUICC Engine USB Host Controller
:::::: TO: Anton Vorontsov <avorontsov@ru.mvista.com>
:::::: CC: Greg Kroah-Hartman <gregkh@kvm.kroah.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28203 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-01-19 22:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-19 22:30 [linux-next:master 1894/9861] drivers/usb/host/fhci-hcd.c:398:8: warning: this statement may fall through kbuild test robot
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.