The descriptor was already removed from the transfer list, there's no
reason to keep the channel lock while printing desc info, thus do the
prints without holding the lock.
Signed-off-by: Tudor Ambarus <[email protected]>
---
drivers/dma/at_hdmac.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index 1cb0d26d30ed..16cea65a708d 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -983,6 +983,8 @@ static void atc_handle_error(struct at_dma_chan *atchan)
atc_dostart(atchan, desc);
}
+ spin_unlock_irqrestore(&atchan->lock, flags);
+
/*
* KERN_CRITICAL may seem harsh, but since this only happens
* when someone submits a bad physical address in a
@@ -998,8 +1000,6 @@ static void atc_handle_error(struct at_dma_chan *atchan)
list_for_each_entry(child, &bad_desc->tx_list, desc_node)
atc_dump_lli(atchan, &child->lli);
- spin_unlock_irqrestore(&atchan->lock, flags);
-
/* Pretend the descriptor completed successfully */
atc_chain_complete(atchan, bad_desc);
}
--
2.25.1