[PATCH v2 0/6] plx_dma fixes

From: Logan Gunthorpe

Date: Tue Nov 10 2026 - 13:12:03 EST


This is v2 from my series last week. It fixes a bug Sashiko found,
updates the commit message of the dma_rmb() patch to better explain
the issue, collects Frank's Reviewed-by tags and rebases on the latest
rc2.

Also, this is series isn't high priority to me, I'm just trying to
fix Sashiko warnings. If there's spare review bandwidth I'd prefer
the time spent on my other series[1].

This series is based off of v7.4-rc2.

Thanks,

Logan

[v1] https://lore.kernel.org/all/20261103155202.461725-1-logang@xxxxxxxxxxxx/
[1] https://lore.kernel.org/all/20261110173137.623764-1-logang@xxxxxxxxxxxx/

--

Changes since v1:
* Serialize descriptor completion with a new complete_lock so
callbacks stay in order and can't still be running after
plx_dma_free_chan_resources() returns (per Sashiko)
* Expand the commit message and comment for the dma_rmb() patch to
explain why the barrier is needed (per Frank)
* Collect Frank's Reviewed-by tags
* Rebased onto v7.4-rc2 (no conflicts)

Logan Gunthorpe (6):
dmaengine: plx_dma: don't call pci_irq_vector() under rcu_read_lock()
dmaengine: plx_dma: fix descriptor ring leak in alloc_chan_resources()
dmaengine: plx_dma: use writel() for the 32-bit PLX_REG_CTRL register
dmaengine: plx_dma: add dma_rmb() after observing write-back status
dmaengine: plx_dma: use spin_lock_bh() in plx_dma_process_desc()
dmaengine: plx_dma: don't invoke client callbacks with ring_lock held

drivers/dma/plx_dma.c | 94 ++++++++++++++++++++++++++++++++-----------
1 file changed, 70 insertions(+), 24 deletions(-)


base-commit: 7475ea8b58616b33c04afb976cf0fbaad9dd63fb
--
2.47.3