From: Peter Ujfalusi Date: Wed, 20 Jul 2016 08:50:28 +0000 (+0300) Subject: dmaengine: omap-dma: Simplify omap_dma_callback X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b57ebe080cffb323b062fbff1a35ef59de3bd5d1;p=linux-beck.git dmaengine: omap-dma: Simplify omap_dma_callback Flatten the indentation level of the function which gives better view on the cases we handle here. Signed-off-by: Peter Ujfalusi Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/omap-dma.c b/drivers/dma/omap-dma.c index 2fdeb02e81fc..3c445942bd31 100644 --- a/drivers/dma/omap-dma.c +++ b/drivers/dma/omap-dma.c @@ -445,15 +445,13 @@ static void omap_dma_callback(int ch, u16 status, void *data) spin_lock_irqsave(&c->vc.lock, flags); d = c->desc; if (d) { - if (!c->cyclic) { - if (c->sgidx < d->sglen) { - omap_dma_start_sg(c, d); - } else { - omap_dma_start_desc(c); - vchan_cookie_complete(&d->vd); - } - } else { + if (c->cyclic) { vchan_cyclic_callback(&d->vd); + } else if (c->sgidx == d->sglen) { + omap_dma_start_desc(c); + vchan_cookie_complete(&d->vd); + } else { + omap_dma_start_sg(c, d); } } spin_unlock_irqrestore(&c->vc.lock, flags);