Messages in this thread Patch in this message |  | | Date | Wed, 6 May 2026 15:09:09 -0400 | | From | Frank Li <> | | Subject | Re: [PATCH v4] dmaengine: tegra210-adma: Add error logging on failure paths |
| |
On Mon, Apr 13, 2026 at 06:45:45AM +0000, Sheetal wrote: > Add dev_err/dev_err_probe logging across failure paths to improve > debuggability of DMA errors during runtime and probe. > > Use return dev_err_probe() pattern consistently in the probe function, > and dev_err in non-probe functions. Also convert existing dev_err calls > in probe to dev_err_probe for consistency. > > Signed-off-by: Sheetal <sheetal@nvidia.com> > ---
... > > @@ -1141,12 +1157,16 @@ static int tegra_adma_probe(struct platform_device *pdev) > pm_runtime_enable(&pdev->dev); > > ret = pm_runtime_resume_and_get(&pdev->dev);
Change to use ACQUIRE(pm_runtime_active, pm), so rpm_disable can be removed
> - if (ret < 0) > + if (ret < 0) { > + dev_err_probe(&pdev->dev, ret, "runtime PM resume failed\n"); > goto rpm_disable; > + } > > ret = tegra_adma_init(tdma); > - if (ret) > + if (ret) { > + dev_err_probe(&pdev->dev, ret, "failed to initialize ADMA\n"); > goto rpm_put; > + } > > dma_cap_set(DMA_SLAVE, tdma->dma_dev.cap_mask); > dma_cap_set(DMA_PRIVATE, tdma->dma_dev.cap_mask); > @@ -1172,14 +1192,14 @@ static int tegra_adma_probe(struct platform_device *pdev) > > ret = dma_async_device_register(&tdma->dma_dev);
the preferred pattern is return dev_err_probe();
Before do that, I suggest change to use dmaenginem_async_device_register(), so label dma_remove can be removed.
Frank
> if (ret < 0) { > - dev_err(&pdev->dev, "ADMA registration failed: %d\n", ret); > + dev_err_probe(&pdev->dev, ret, "ADMA registration failed\n"); > goto rpm_put; > } > > ret = of_dma_controller_register(pdev->dev.of_node, > tegra_dma_of_xlate, tdma); > if (ret < 0) { > - dev_err(&pdev->dev, "ADMA OF registration failed %d\n", ret); > + dev_err_probe(&pdev->dev, ret, "ADMA OF registration failed\n"); > goto dma_remove; > } > > -- > 2.17.1 >
|  |