[PATCH V2 0/8] dmaengine: zynqmp_dma: Fix error paths and follow-up cleanups

Golla Nagendra <[email protected]>
Newsgroups org.kernel.vger.dmaengine,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
This series fixes error-path cleanup issues in alloc/probe flows and
applies follow-up cleanups in the Xilinx ZynqMP DMA driver.

This series fixes error-path cleanup issues in alloc/probe flows and
applies follow-up cleanups in the Xilinx ZynqMP DMA driver.

Patch 1 fixes runtime PM rollback when sw_desc_pool allocation fails
after pm_runtime_resume_and_get().

Patch 2 frees sw_desc_pool when desc_pool_v allocation fails after
sw_desc_pool has already been allocated.

Patch 3 fixes channel probe/remove error handling by preserving
platform_get_irq() errors, initializing/staging chan->irq safely, and
registering the channel node only after IRQ setup succeeds.

Patch 4 updates stale kerneldoc comments to match current behavior.

Patch 5 applies minor whitespace formatting cleanup in
zynqmp_dma_chan_probe().

Patch 6 switches dma-coherent detection to of_dma_is_coherent() instead
of parsing the common device-tree property directly.

Patch 7 rejects zero-length memcpy preparations and documents the return
behavior.

Patch 8 removes an unused define and drops a duplicate interrupt enable
bit from the default IRQ mask.

Changes in v2:
- Split the previous alloc_chan_resources cleanup into two focused
  patches:
  - Patch 1 for runtime PM rollback on sw_desc_pool allocation failure.
  - Patch 2 for sw_desc_pool release on desc_pool_v allocation failure.
- Reworked channel probe failure teardown to use the existing
  free_chan_resources goto path instead of adding direct tasklet kill in
  the outer probe failure block.
- Kept the whitespace-only change as a standalone patch and moved
  dma-coherent handling to a dedicated patch using
  of_dma_is_coherent().
- Updated commit descriptions to match exact per-patch behavior.

Golla Nagendra (8):
  dmaengine: zynqmp_dma: Fix PM rollback on sw_desc_pool alloc failure
  dmaengine: zynqmp_dma: Free sw_desc_pool on desc_pool_v alloc failure
  dmaengine: zynqmp_dma: Fix chan probe/remove error handling
  dmaengine: zynqmp_dma: Fix stale kerneldoc comments
  dmaengine: zynqmp_dma: Fix minor whitespace
  dmaengine: zynqmp_dma: Use of_dma_is_coherent for dma-coherent
  dmaengine: zynqmp_dma: Reject zero-length memcpy transfers
  dmaengine: zynqmp_dma: Remove unused define and duplicate IRQ bit

 drivers/dma/xilinx/zynqmp_dma.c | 73 +++++++++++++++++++++------------
 1 file changed, 46 insertions(+), 27 deletions(-)

-- 
2.44.4
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.