summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorTudor Ambarus <tudor.ambarus@microchip.com>2022-10-25 12:02:50 +0300
committerVinod Koul <vkoul@kernel.org>2022-11-11 12:15:08 +0530
commit4c2e9ba05c7abac58bdb58e47eb69b156027fb7b (patch)
tree7b799649f37456286ca2069c65eed8e2cce976d1 /drivers/dma
parent3f134c9511d624ccbe6fa0c7c1e457c4ff89d94d (diff)
downloadlinux-4c2e9ba05c7abac58bdb58e47eb69b156027fb7b.tar.bz2
dmaengine: at_hdmac: Do not print messages on console while holding the lock
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 <tudor.ambarus@microchip.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-17-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/at_hdmac.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index 858bd64f1313..f365ac4d87ff 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -549,6 +549,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
@@ -564,8 +566,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);
}