mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
drm: renesas: rz-du: mipi_dsi: Fix return path on error
In case of error, we should unwind correctly.
Switching to using dmam_ instead of dma_ and moving the code earlier
fixes the issue.
Fixes: 6f392f3716 ("drm: renesas: rz-du: Implement MIPI DSI host transfers")
Suggested-by: Pavel Machek <pavel@nabladev.com>
Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20260501132135.196701-1-chris.brandt@renesas.com
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
This commit is contained in:
parent
eb1ecc3865
commit
79e1afecfe
|
|
@ -1445,6 +1445,11 @@ static int rzg2l_mipi_dsi_probe(struct platform_device *pdev)
|
|||
return dev_err_probe(dsi->dev, PTR_ERR(dsi->prstc),
|
||||
"failed to get prst\n");
|
||||
|
||||
dsi->dcs_buf_virt = dmam_alloc_coherent(dsi->dev, RZG2L_DCS_BUF_SIZE,
|
||||
&dsi->dcs_buf_phys, GFP_KERNEL);
|
||||
if (!dsi->dcs_buf_virt)
|
||||
return -ENOMEM;
|
||||
|
||||
platform_set_drvdata(pdev, dsi);
|
||||
|
||||
pm_runtime_enable(dsi->dev);
|
||||
|
|
@ -1477,11 +1482,6 @@ static int rzg2l_mipi_dsi_probe(struct platform_device *pdev)
|
|||
if (ret < 0)
|
||||
goto err_pm_disable;
|
||||
|
||||
dsi->dcs_buf_virt = dma_alloc_coherent(dsi->host.dev, RZG2L_DCS_BUF_SIZE,
|
||||
&dsi->dcs_buf_phys, GFP_KERNEL);
|
||||
if (!dsi->dcs_buf_virt)
|
||||
return -ENOMEM;
|
||||
|
||||
return 0;
|
||||
|
||||
err_phy:
|
||||
|
|
@ -1496,8 +1496,6 @@ static void rzg2l_mipi_dsi_remove(struct platform_device *pdev)
|
|||
{
|
||||
struct rzg2l_mipi_dsi *dsi = platform_get_drvdata(pdev);
|
||||
|
||||
dma_free_coherent(dsi->host.dev, RZG2L_DCS_BUF_SIZE, dsi->dcs_buf_virt,
|
||||
dsi->dcs_buf_phys);
|
||||
mipi_dsi_host_unregister(&dsi->host);
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user