From: Wei Yongjun Date: Sun, 18 Aug 2013 08:13:13 +0000 (+0800) Subject: usb: musb: cppi41: fix missing unlock on error in cppi41_dma_callback() X-Git-Tag: firefly_0821_release~176^2~5474^2~19^2~20 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0b5c1e62d80c8ee43b9f8435fe54ed097dba6a3c;hp=bd2fbf3a5602d9721b82e4fc71a68167f3a7ec86;p=firefly-linux-kernel-4.4.55.git usb: musb: cppi41: fix missing unlock on error in cppi41_dma_callback() Add the missing unlock before return from function cppi41_dma_callback() in the error handling case. Signed-off-by: Wei Yongjun Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/musb/musb_cppi41.c b/drivers/usb/musb/musb_cppi41.c index e64701d15401..ae959746f77f 100644 --- a/drivers/usb/musb/musb_cppi41.c +++ b/drivers/usb/musb/musb_cppi41.c @@ -150,8 +150,10 @@ static void cppi41_dma_callback(void *private_data) remain_bytes, direction, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); - if (WARN_ON(!dma_desc)) + if (WARN_ON(!dma_desc)) { + spin_unlock_irqrestore(&musb->lock, flags); return; + } dma_desc->callback = cppi41_dma_callback; dma_desc->callback_param = channel;