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