tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   5e46d1b78a03d52306f21f77a4e4a144b6d31486
commit: 044d0d6de9f50192f9697583504a382347ee95ca lockdep: Only trace IRQ edges
date:   7 months ago
config: csky-randconfig-r012-20210331 (attached as .config)
compiler: csky-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=044d0d6de9f50192f9697583504a382347ee95ca
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 044d0d6de9f50192f9697583504a382347ee95ca
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=csky 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   drivers/usb/host/max3421-hcd.c: In function 'max3421_select_and_start_urb':
>> drivers/usb/host/max3421-hcd.c:792:1: warning: the frame size of 8220 bytes 
>> is larger than 1024 bytes [-Wframe-larger-than=]
     792 | }
         | ^


vim +792 drivers/usb/host/max3421-hcd.c

2d53139f31626b David Mosberger 2014-04-28  648  
2d53139f31626b David Mosberger 2014-04-28  649  /*
2d53139f31626b David Mosberger 2014-04-28  650   * Find the next URB to process 
and start its execution.
2d53139f31626b David Mosberger 2014-04-28  651   *
2d53139f31626b David Mosberger 2014-04-28  652   * At this time, we do not 
anticipate ever connecting a USB hub to the
2d53139f31626b David Mosberger 2014-04-28  653   * MAX3421 chip, so at most USB 
device can be connected and we can use
2d53139f31626b David Mosberger 2014-04-28  654   * a simplistic scheduler: at 
the start of a frame, schedule all
2d53139f31626b David Mosberger 2014-04-28  655   * periodic transfers.  Once 
that is done, use the remainder of the
2d53139f31626b David Mosberger 2014-04-28  656   * frame to process 
non-periodic (bulk & control) transfers.
2d53139f31626b David Mosberger 2014-04-28  657   *
2d53139f31626b David Mosberger 2014-04-28  658   * Preconditions:
2d53139f31626b David Mosberger 2014-04-28  659   * o Caller must NOT hold HCD 
spinlock.
2d53139f31626b David Mosberger 2014-04-28  660   * o max3421_hcd->curr_urb MUST 
BE NULL.
2d53139f31626b David Mosberger 2014-04-28  661   * o MAX3421E chip must be idle.
2d53139f31626b David Mosberger 2014-04-28  662   */
2d53139f31626b David Mosberger 2014-04-28  663  static int
2d53139f31626b David Mosberger 2014-04-28  664  
max3421_select_and_start_urb(struct usb_hcd *hcd)
2d53139f31626b David Mosberger 2014-04-28  665  {
2d53139f31626b David Mosberger 2014-04-28  666          struct spi_device *spi 
= to_spi_device(hcd->self.controller);
2d53139f31626b David Mosberger 2014-04-28  667          struct max3421_hcd 
*max3421_hcd = hcd_to_max3421(hcd);
2d53139f31626b David Mosberger 2014-04-28  668          struct urb *urb, 
*curr_urb = NULL;
2d53139f31626b David Mosberger 2014-04-28  669          struct max3421_ep 
*max3421_ep;
2d53139f31626b David Mosberger 2014-04-28  670          int epnum, 
force_toggles = 0;
2d53139f31626b David Mosberger 2014-04-28  671          struct 
usb_host_endpoint *ep;
2d53139f31626b David Mosberger 2014-04-28  672          struct list_head *pos;
2d53139f31626b David Mosberger 2014-04-28  673          unsigned long flags;
2d53139f31626b David Mosberger 2014-04-28  674  
2d53139f31626b David Mosberger 2014-04-28  675          
spin_lock_irqsave(&max3421_hcd->lock, flags);
2d53139f31626b David Mosberger 2014-04-28  676  
2d53139f31626b David Mosberger 2014-04-28  677          for (;
2d53139f31626b David Mosberger 2014-04-28  678               
max3421_hcd->sched_pass < SCHED_PASS_DONE;
2d53139f31626b David Mosberger 2014-04-28  679               
++max3421_hcd->sched_pass)
2d53139f31626b David Mosberger 2014-04-28  680                  
list_for_each(pos, &max3421_hcd->ep_list) {
2d53139f31626b David Mosberger 2014-04-28  681                          urb = 
NULL;
2d53139f31626b David Mosberger 2014-04-28  682                          
max3421_ep = container_of(pos, struct max3421_ep,
2d53139f31626b David Mosberger 2014-04-28  683                                  
                  ep_list);
2d53139f31626b David Mosberger 2014-04-28  684                          ep = 
max3421_ep->ep;
2d53139f31626b David Mosberger 2014-04-28  685  
2d53139f31626b David Mosberger 2014-04-28  686                          switch 
(usb_endpoint_type(&ep->desc)) {
2d53139f31626b David Mosberger 2014-04-28  687                          case 
USB_ENDPOINT_XFER_ISOC:
2d53139f31626b David Mosberger 2014-04-28  688                          case 
USB_ENDPOINT_XFER_INT:
2d53139f31626b David Mosberger 2014-04-28  689                                  
if (max3421_hcd->sched_pass !=
2d53139f31626b David Mosberger 2014-04-28  690                                  
    SCHED_PASS_PERIODIC)
2d53139f31626b David Mosberger 2014-04-28  691                                  
        continue;
2d53139f31626b David Mosberger 2014-04-28  692                                  
break;
2d53139f31626b David Mosberger 2014-04-28  693  
2d53139f31626b David Mosberger 2014-04-28  694                          case 
USB_ENDPOINT_XFER_CONTROL:
2d53139f31626b David Mosberger 2014-04-28  695                          case 
USB_ENDPOINT_XFER_BULK:
2d53139f31626b David Mosberger 2014-04-28  696                                  
if (max3421_hcd->sched_pass !=
2d53139f31626b David Mosberger 2014-04-28  697                                  
    SCHED_PASS_NON_PERIODIC)
2d53139f31626b David Mosberger 2014-04-28  698                                  
        continue;
2d53139f31626b David Mosberger 2014-04-28  699                                  
break;
2d53139f31626b David Mosberger 2014-04-28  700                          }
2d53139f31626b David Mosberger 2014-04-28  701  
2d53139f31626b David Mosberger 2014-04-28  702                          if 
(list_empty(&ep->urb_list))
2d53139f31626b David Mosberger 2014-04-28  703                                  
continue;       /* nothing to do */
2d53139f31626b David Mosberger 2014-04-28  704                          urb = 
list_first_entry(&ep->urb_list, struct urb,
2d53139f31626b David Mosberger 2014-04-28  705                                  
               urb_list);
2d53139f31626b David Mosberger 2014-04-28  706                          if 
(urb->unlinked) {
2d53139f31626b David Mosberger 2014-04-28  707                                  
dev_dbg(&spi->dev, "%s: URB %p unlinked=%d",
2d53139f31626b David Mosberger 2014-04-28  708                                  
        __func__, urb, urb->unlinked);
2d53139f31626b David Mosberger 2014-04-28  709                                  
max3421_hcd->curr_urb = urb;
2d53139f31626b David Mosberger 2014-04-28  710                                  
max3421_hcd->urb_done = 1;
2d53139f31626b David Mosberger 2014-04-28  711                                  
spin_unlock_irqrestore(&max3421_hcd->lock,
2d53139f31626b David Mosberger 2014-04-28  712                                  
                       flags);
2d53139f31626b David Mosberger 2014-04-28  713                                  
return 1;
2d53139f31626b David Mosberger 2014-04-28  714                          }
2d53139f31626b David Mosberger 2014-04-28  715  
2d53139f31626b David Mosberger 2014-04-28  716                          switch 
(usb_endpoint_type(&ep->desc)) {
2d53139f31626b David Mosberger 2014-04-28  717                          case 
USB_ENDPOINT_XFER_CONTROL:
2d53139f31626b David Mosberger 2014-04-28  718                                  
/*
2d53139f31626b David Mosberger 2014-04-28  719                                  
 * Allow one control transaction per
2d53139f31626b David Mosberger 2014-04-28  720                                  
 * frame per endpoint:
2d53139f31626b David Mosberger 2014-04-28  721                                  
 */
2d53139f31626b David Mosberger 2014-04-28  722                                  
if (frame_diff(max3421_ep->last_active,
2d53139f31626b David Mosberger 2014-04-28  723                                  
               max3421_hcd->frame_number) == 0)
2d53139f31626b David Mosberger 2014-04-28  724                                  
        continue;
2d53139f31626b David Mosberger 2014-04-28  725                                  
break;
2d53139f31626b David Mosberger 2014-04-28  726  
2d53139f31626b David Mosberger 2014-04-28  727                          case 
USB_ENDPOINT_XFER_BULK:
2d53139f31626b David Mosberger 2014-04-28  728                                  
if (max3421_ep->retransmit
2d53139f31626b David Mosberger 2014-04-28  729                                  
    && (frame_diff(max3421_ep->last_active,
2d53139f31626b David Mosberger 2014-04-28  730                                  
                   max3421_hcd->frame_number)
2d53139f31626b David Mosberger 2014-04-28  731                                  
        == 0))
2d53139f31626b David Mosberger 2014-04-28  732                                  
        /*
2d53139f31626b David Mosberger 2014-04-28  733                                  
         * We already tried this EP
2d53139f31626b David Mosberger 2014-04-28  734                                  
         * during this frame and got a
2d53139f31626b David Mosberger 2014-04-28  735                                  
         * NAK or error; wait for next frame
2d53139f31626b David Mosberger 2014-04-28  736                                  
         */
2d53139f31626b David Mosberger 2014-04-28  737                                  
        continue;
2d53139f31626b David Mosberger 2014-04-28  738                                  
break;
2d53139f31626b David Mosberger 2014-04-28  739  
2d53139f31626b David Mosberger 2014-04-28  740                          case 
USB_ENDPOINT_XFER_ISOC:
2d53139f31626b David Mosberger 2014-04-28  741                          case 
USB_ENDPOINT_XFER_INT:
2d53139f31626b David Mosberger 2014-04-28  742                                  
if (frame_diff(max3421_hcd->frame_number,
2d53139f31626b David Mosberger 2014-04-28  743                                  
               max3421_ep->last_active)
2d53139f31626b David Mosberger 2014-04-28  744                                  
    < urb->interval)
2d53139f31626b David Mosberger 2014-04-28  745                                  
        /*
2d53139f31626b David Mosberger 2014-04-28  746                                  
         * We already processed this
2d53139f31626b David Mosberger 2014-04-28  747                                  
         * end-point in the current
2d53139f31626b David Mosberger 2014-04-28  748                                  
         * frame
2d53139f31626b David Mosberger 2014-04-28  749                                  
         */
2d53139f31626b David Mosberger 2014-04-28  750                                  
        continue;
2d53139f31626b David Mosberger 2014-04-28  751                                  
break;
2d53139f31626b David Mosberger 2014-04-28  752                          }
2d53139f31626b David Mosberger 2014-04-28  753  
2d53139f31626b David Mosberger 2014-04-28  754                          /* move 
current ep to tail: */
2d53139f31626b David Mosberger 2014-04-28  755                          
list_move_tail(pos, &max3421_hcd->ep_list);
2d53139f31626b David Mosberger 2014-04-28  756                          
curr_urb = urb;
2d53139f31626b David Mosberger 2014-04-28  757                          goto 
done;
2d53139f31626b David Mosberger 2014-04-28  758                  }
2d53139f31626b David Mosberger 2014-04-28  759  done:
2d53139f31626b David Mosberger 2014-04-28  760          if (!curr_urb) {
2d53139f31626b David Mosberger 2014-04-28  761                  
spin_unlock_irqrestore(&max3421_hcd->lock, flags);
2d53139f31626b David Mosberger 2014-04-28  762                  return 0;
2d53139f31626b David Mosberger 2014-04-28  763          }
2d53139f31626b David Mosberger 2014-04-28  764  
2d53139f31626b David Mosberger 2014-04-28  765          urb = 
max3421_hcd->curr_urb = curr_urb;
2d53139f31626b David Mosberger 2014-04-28  766          epnum = 
usb_endpoint_num(&urb->ep->desc);
2d53139f31626b David Mosberger 2014-04-28  767          if 
(max3421_ep->retransmit)
2d53139f31626b David Mosberger 2014-04-28  768                  /* restart 
(part of) a USB transaction: */
2d53139f31626b David Mosberger 2014-04-28  769                  
max3421_ep->retransmit = 0;
2d53139f31626b David Mosberger 2014-04-28  770          else {
2d53139f31626b David Mosberger 2014-04-28  771                  /* start USB 
transaction: */
2d53139f31626b David Mosberger 2014-04-28  772                  if 
(usb_endpoint_xfer_control(&ep->desc)) {
2d53139f31626b David Mosberger 2014-04-28  773                          /*
2d53139f31626b David Mosberger 2014-04-28  774                           * See 
USB 2.0 spec section 8.6.1
2d53139f31626b David Mosberger 2014-04-28  775                           * 
Initialization via SETUP Token:
2d53139f31626b David Mosberger 2014-04-28  776                           */
2d53139f31626b David Mosberger 2014-04-28  777                          
usb_settoggle(urb->dev, epnum, 0, 1);
2d53139f31626b David Mosberger 2014-04-28  778                          
usb_settoggle(urb->dev, epnum, 1, 1);
2d53139f31626b David Mosberger 2014-04-28  779                          
max3421_ep->pkt_state = PKT_STATE_SETUP;
2d53139f31626b David Mosberger 2014-04-28  780                          
force_toggles = 1;
2d53139f31626b David Mosberger 2014-04-28  781                  } else
2d53139f31626b David Mosberger 2014-04-28  782                          
max3421_ep->pkt_state = PKT_STATE_TRANSFER;
2d53139f31626b David Mosberger 2014-04-28  783          }
2d53139f31626b David Mosberger 2014-04-28  784  
2d53139f31626b David Mosberger 2014-04-28  785          
spin_unlock_irqrestore(&max3421_hcd->lock, flags);
2d53139f31626b David Mosberger 2014-04-28  786  
2d53139f31626b David Mosberger 2014-04-28  787          max3421_ep->last_active 
= max3421_hcd->frame_number;
2d53139f31626b David Mosberger 2014-04-28  788          
max3421_set_address(hcd, urb->dev, epnum, force_toggles);
2d53139f31626b David Mosberger 2014-04-28  789          max3421_set_speed(hcd, 
urb->dev);
2d53139f31626b David Mosberger 2014-04-28  790          
max3421_next_transfer(hcd, 0);
2d53139f31626b David Mosberger 2014-04-28  791          return 1;
2d53139f31626b David Mosberger 2014-04-28 @792  }
2d53139f31626b David Mosberger 2014-04-28  793  

:::::: The code at line 792 was first introduced by commit
:::::: 2d53139f31626bad6f8983d8e519ddde2cbba921 Add support for using a 
MAX3421E chip as a host driver.

:::::: TO: David Mosberger <dav...@egauge.net>
:::::: CC: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to