usb: musb: cppi41: fix missing unlock on error in cppi41_dma_callback()
[firefly-linux-kernel-4.4.55.git] / drivers / usb / musb / musb_cppi41.c
index e64701d15401bc42ebb2bd800ec48d848242ec3b..ae959746f77f04331a1d8dde9d1da57d90af24b8 100644 (file)
@@ -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;