2022-06-01 19:24:18

by Miaoqian Lin

[permalink] [raw]
Subject: [RESEND PATCH] drm/mipi-dsi: Fix error handling in mipi_dsi_device_register_full

In mipi_dsi_device_alloc(), it calls device_initialize(&dsi->dev);
We need to use put_device() instead freeing directly.

Fixes: 068a002 ("drm: Add MIPI DSI bus support")
Signed-off-by: Miaoqian Lin <[email protected]>
---
drivers/gpu/drm/drm_mipi_dsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
index c40bde96cfdf..8cc8deca006f 100644
--- a/drivers/gpu/drm/drm_mipi_dsi.c
+++ b/drivers/gpu/drm/drm_mipi_dsi.c
@@ -228,7 +228,7 @@ mipi_dsi_device_register_full(struct mipi_dsi_host *host,
ret = mipi_dsi_device_add(dsi);
if (ret) {
drm_err(host, "failed to add DSI device %d\n", ret);
- kfree(dsi);
+ put_device(&dsi->dev);
return ERR_PTR(ret);
}

--
2.25.1



2022-06-02 10:04:23

by Andrzej Hajda

[permalink] [raw]
Subject: Re: [RESEND PATCH] drm/mipi-dsi: Fix error handling in mipi_dsi_device_register_full



On 01.06.2022 14:40, Miaoqian Lin wrote:
> In mipi_dsi_device_alloc(), it calls device_initialize(&dsi->dev);
> We need to use put_device() instead freeing directly.
>
> Fixes: 068a002 ("drm: Add MIPI DSI bus support")
> Signed-off-by: Miaoqian Lin <[email protected]>

Looks correct.
Reviewed-by: Andrzej Hajda <[email protected]>

Regards
Andrzej

> ---
> drivers/gpu/drm/drm_mipi_dsi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
> index c40bde96cfdf..8cc8deca006f 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -228,7 +228,7 @@ mipi_dsi_device_register_full(struct mipi_dsi_host *host,
> ret = mipi_dsi_device_add(dsi);
> if (ret) {
> drm_err(host, "failed to add DSI device %d\n", ret);
> - kfree(dsi);
> + put_device(&dsi->dev);
> return ERR_PTR(ret);
> }
>