diff options
-rw-r--r-- | drivers/dma/shdma.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index d2fb16d31bb9..3d22eb82289d 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c | |||
@@ -766,10 +766,8 @@ static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan) | |||
766 | 766 | ||
767 | spin_lock_bh(&sh_chan->desc_lock); | 767 | spin_lock_bh(&sh_chan->desc_lock); |
768 | /* DMA work check */ | 768 | /* DMA work check */ |
769 | if (dmae_is_busy(sh_chan)) { | 769 | if (dmae_is_busy(sh_chan)) |
770 | spin_unlock_bh(&sh_chan->desc_lock); | 770 | goto sh_chan_xfer_ld_queue_end; |
771 | return; | ||
772 | } | ||
773 | 771 | ||
774 | /* Find the first not transferred descriptor */ | 772 | /* Find the first not transferred descriptor */ |
775 | list_for_each_entry(desc, &sh_chan->ld_queue, node) | 773 | list_for_each_entry(desc, &sh_chan->ld_queue, node) |
@@ -783,6 +781,7 @@ static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan) | |||
783 | break; | 781 | break; |
784 | } | 782 | } |
785 | 783 | ||
784 | sh_chan_xfer_ld_queue_end: | ||
786 | spin_unlock_bh(&sh_chan->desc_lock); | 785 | spin_unlock_bh(&sh_chan->desc_lock); |
787 | } | 786 | } |
788 | 787 | ||