usb: gadget: gr_udc: unconditionally use GFP_ATOMIC in gr_queue_ext()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Wed, 7 May 2014 20:26:52 +0000 (00:26 +0400)
committerFelipe Balbi <balbi@ti.com>
Wed, 14 May 2014 14:23:30 +0000 (09:23 -0500)
As far as gr_queue() is called with spinlock held,
we have to pass GFP_ATOMIC regardless of gfp argument.

Found by Linux Driver Verification project (linuxtesting.org).

Acked-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/gr_udc.c

index 4966971d6978fbcfc15fe79af79009e9f03d2fe4..99a37ed03e278429a08513e39a6dd6446af53d27 100644 (file)
@@ -1684,7 +1684,7 @@ static int gr_queue_ext(struct usb_ep *_ep, struct usb_request *_req,
        if (ep->is_in)
                gr_dbgprint_request("EXTERN", ep, req);
 
-       ret = gr_queue(ep, req, gfp_flags);
+       ret = gr_queue(ep, req, GFP_ATOMIC);
 
        spin_unlock(&ep->dev->lock);