[PATCH 0/2] dmaengine: sun6i: Fix two bugs in the DMA status path
Christian Lugnberg <[email protected]>
| Newsgroups | org.kernel.vger.dmaengine,dev.linux.lists.linux-sunxi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This series fixes two bugs in the sun6i DMA driver's tx_status path. The first patch fixes a non-atomic read of DMA_CHAN_LLI_ADDR and DMA_CHAN_CUR_CNT in sun6i_get_chan_size(), introduced when cyclic DMA support was added. The race causes spurious ALSA xruns on Allwinner H3 (Barix IPAM400), confirmed by observation on kernel 6.12. The second patch fixes a null pointer dereference in sun6i_dma_tx_status() where to_sun6i_desc() was called unconditionally on the return value of vchan_find_desc() before the NULL check, present since the driver was first introduced. Both patches are candidates for stable backport. Christian Lugnberg (2): dmaengine: sun6i: fix non-atomic read of DMA position registers dmaengine: sun6i: fix null pointer dereference in sun6i_dma_tx_status drivers/dma/sun6i-dma.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -- 2.54.0 (Apple Git-156)