Hi!

Other responsibilities has been holding back the Linux commitments.

Thank you for reminding me! I'll get to it!

Best regards,

Andreas Larsson
Software Engineer
Aeroflex Gaisler AB
Aeroflex Microelectronic Solutions – HiRel
Kungsgatan 12
SE-411 19 Gothenburg, Sweden
Phone: +46 31 7758669
[email protected]
www.Aeroflex.com/Gaisler

On 2014-03-27 14:52, Dan Carpenter wrote:
This bug is still there in linux-next.  What's the story, Andreas?

regards,
dan carpenter

On Thu, Jan 23, 2014 at 07:19:57PM +0300, Dan Carpenter wrote:
Hello Andreas Larsson,

The patch 27e9dcc924e9: "usb: gadget: Add UDC driver for Aeroflex
Gaisler GRUSBDC" from Dec 23, 2013, leads to the following static
checker warning:

        drivers/usb/gadget/gr_udc.c:1994 gr_ep_init()
        error: scheduling with locks held: 'spin_lock:lock'

drivers/usb/gadget/gr_udc.c
   1991          INIT_LIST_HEAD(&ep->queue);
   1992
   1993          if (num == 0) {
   1994                  _req = gr_alloc_request(&ep->ep, GFP_KERNEL);
                                                          ^^^^^^^^^^
GFP_ATOMIC?

   1995                  buf = devm_kzalloc(dev->dev, PAGE_SIZE, GFP_DMA | 
GFP_KERNEL);
                                                                 
^^^^^^^^^^^^^^^^^^^^
This allocation can sleep as well.  We're not allowed to sleep if we're
holding a spinlock.

   1996                  if (!_req || !buf) {
   1997                          /* possible _req freed by gr_probe via 
gr_remove */
   1998                          return -ENOMEM;
   1999                  }
   2000
   2001                  req = container_of(_req, struct gr_request, req);
   2002                  req->req.buf = buf;
   2003                  req->req.length = MAX_CTRL_PL_SIZE;

The call tree is:
   gr_probe() <- takes the spinlock
   -> gr_udc_init()
      -> gr_ep_init()  <-- sleeps

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to