[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