usb: gadget: mv_udc: avoid sleeping on spinlock
authorNeil Zhang <zhangwm@marvell.com>
Tue, 10 Jul 2012 02:07:03 +0000 (10:07 +0800)
committerFelipe Balbi <balbi@ti.com>
Thu, 23 Aug 2012 08:04:15 +0000 (11:04 +0300)
commit0344606bec0f3325ba9c1d4de74a5dd98911916d
treed18efbbdb0ed15eef5b17f321ce7d3d20dfad21c
parenta07bc24e2773e11cb4a6c03d72cd3cdb50c41914
usb: gadget: mv_udc: avoid sleeping on spinlock

build_dtd() can be called when hold a spinlock, but GFP_KERNEL may cause
dma_pool_alloc() sleep, So we need use GFP_ATOMIC instead of GFP_KERNEL.
But using GFP_ATOMIC may cause failure when allocating memory, add error
handler to handle it.

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Neil Zhang <zhangwm@marvell.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/mv_udc_core.c