dmaengine: shdma: tidyup spin_unlock_bh on sh_chan_xfer_ld_queue
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 16 Jun 2011 05:08:18 +0000 (05:08 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 16 Jun 2011 06:03:43 +0000 (15:03 +0900)
It is not readable that there is any spin_unlock_bh on same function.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/dma/shdma.c

index d2fb16d..3d22eb8 100644 (file)
@@ -766,10 +766,8 @@ static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan)
 
        spin_lock_bh(&sh_chan->desc_lock);
        /* DMA work check */
-       if (dmae_is_busy(sh_chan)) {
-               spin_unlock_bh(&sh_chan->desc_lock);
-               return;
-       }
+       if (dmae_is_busy(sh_chan))
+               goto sh_chan_xfer_ld_queue_end;
 
        /* Find the first not transferred descriptor */
        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)
                        break;
                }
 
+sh_chan_xfer_ld_queue_end:
        spin_unlock_bh(&sh_chan->desc_lock);
 }