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>
This commit is contained in:
Tudor Ambarus 2022-10-25 12:02:50 +03:00 committed by Vinod Koul
parent 3f134c9511
commit 4c2e9ba05c

View File

@ -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);
}