From: Andreas Larsson Date: Tue, 1 Apr 2014 10:15:17 +0000 (+0200) Subject: usb: gadget: gr_udc: Use GFP_ATOMIC when allocating under held spinlock X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=8652bcbfa09ca5ba24423c7c45c28b7d8771e0a8;p=openwrt%2Fstaging%2Fblogic.git usb: gadget: gr_udc: Use GFP_ATOMIC when allocating under held spinlock As gr_ep_init must be called with dev->lock held, GFP_KERNEL must not be used. Reported-by: Dan Carpenter Signed-off-by: Andreas Larsson Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/gadget/gr_udc.c b/drivers/usb/gadget/gr_udc.c index 72458be7763a..4966971d6978 100644 --- a/drivers/usb/gadget/gr_udc.c +++ b/drivers/usb/gadget/gr_udc.c @@ -1990,8 +1990,8 @@ static int gr_ep_init(struct gr_udc *dev, int num, int is_in, u32 maxplimit) INIT_LIST_HEAD(&ep->queue); if (num == 0) { - _req = gr_alloc_request(&ep->ep, GFP_KERNEL); - buf = devm_kzalloc(dev->dev, PAGE_SIZE, GFP_DMA | GFP_KERNEL); + _req = gr_alloc_request(&ep->ep, GFP_ATOMIC); + buf = devm_kzalloc(dev->dev, PAGE_SIZE, GFP_DMA | GFP_ATOMIC); if (!_req || !buf) { /* possible _req freed by gr_probe via gr_remove */ return -ENOMEM;