[PATCH] drm/bridge: chipone-icn6211: remove bridge when chipone_dsi_host_attach fails

Osama Abdelkader posted 1 patch 2 months, 1 week ago
drivers/gpu/drm/bridge/chipone-icn6211.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH] drm/bridge: chipone-icn6211: remove bridge when chipone_dsi_host_attach fails
Posted by Osama Abdelkader 2 months, 1 week ago
when chipone_dsi_host_attach fails in chipone_i2c_probe remove drm
bridge before return

Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
---
 drivers/gpu/drm/bridge/chipone-icn6211.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/chipone-icn6211.c b/drivers/gpu/drm/bridge/chipone-icn6211.c
index 814713c5bea9..5bee10c64265 100644
--- a/drivers/gpu/drm/bridge/chipone-icn6211.c
+++ b/drivers/gpu/drm/bridge/chipone-icn6211.c
@@ -760,7 +760,10 @@ static int chipone_i2c_probe(struct i2c_client *client)
 
 	drm_bridge_add(&icn->bridge);
 
-	return chipone_dsi_host_attach(icn);
+	ret = chipone_dsi_host_attach(icn);
+	if (ret)
+		drm_bridge_remove(&icn->bridge);
+	return ret;
 }
 
 static void chipone_dsi_remove(struct mipi_dsi_device *dsi)
-- 
2.43.0
Re: [PATCH] drm/bridge: chipone-icn6211: remove bridge when chipone_dsi_host_attach fails
Posted by Luca Ceresoli 2 months, 1 week ago
On Fri Apr 10, 2026 at 9:55 PM CEST, Osama Abdelkader wrote:
> when chipone_dsi_host_attach fails in chipone_i2c_probe remove drm
> bridge before return
>
> Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
> ---
>  drivers/gpu/drm/bridge/chipone-icn6211.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/chipone-icn6211.c b/drivers/gpu/drm/bridge/chipone-icn6211.c
> index 814713c5bea9..5bee10c64265 100644
> --- a/drivers/gpu/drm/bridge/chipone-icn6211.c
> +++ b/drivers/gpu/drm/bridge/chipone-icn6211.c
> @@ -760,7 +760,10 @@ static int chipone_i2c_probe(struct i2c_client *client)
>
>  	drm_bridge_add(&icn->bridge);
>
> -	return chipone_dsi_host_attach(icn);
> +	ret = chipone_dsi_host_attach(icn);
> +	if (ret)
> +		drm_bridge_remove(&icn->bridge);
> +	return ret;
>  }

You can simply switch to devm_drm_bridge_add().

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com