[PATCH v2] drm/bridge: analogix_dp: Fix bailout for devm_drm_bridge_alloc()

Liu Ying posted 1 patch 1 month, 4 weeks ago
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH v2] drm/bridge: analogix_dp: Fix bailout for devm_drm_bridge_alloc()
Posted by Liu Ying 1 month, 4 weeks ago
devm_drm_bridge_alloc() returns ERR_PTR on failure instead of a
NULL pointer, so use IS_ERR() to check the returned pointer.
While at it, on failure, return ERR_CAST(dp) instead of
ERR_PTR(-ENOMEM) in order not to depend on devm_drm_bridge_alloc()
error code implementation.

Fixes: 48f05c3b4b70 ("drm/bridge: analogix_dp: Use devm_drm_bridge_alloc() API")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
---
v2:
- Return ERR_CAST(dp) on failure.  (Luca)

 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index ed35e567d117..efe534977d12 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1474,8 +1474,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
 
 	dp = devm_drm_bridge_alloc(dev, struct analogix_dp_device, bridge,
 				   &analogix_dp_bridge_funcs);
-	if (!dp)
-		return ERR_PTR(-ENOMEM);
+	if (IS_ERR(dp))
+		return ERR_CAST(dp);
 
 	dp->dev = &pdev->dev;
 	dp->dpms_mode = DRM_MODE_DPMS_OFF;
-- 
2.34.1
Re: [PATCH v2] drm/bridge: analogix_dp: Fix bailout for devm_drm_bridge_alloc()
Posted by Luca Ceresoli 1 month, 4 weeks ago
Hello Liu,

On Wed,  6 Aug 2025 17:52:24 +0800
Liu Ying <victor.liu@nxp.com> wrote:

> devm_drm_bridge_alloc() returns ERR_PTR on failure instead of a
> NULL pointer, so use IS_ERR() to check the returned pointer.
> While at it, on failure, return ERR_CAST(dp) instead of
> ERR_PTR(-ENOMEM) in order not to depend on devm_drm_bridge_alloc()
> error code implementation.
> 
> Fixes: 48f05c3b4b70 ("drm/bridge: analogix_dp: Use devm_drm_bridge_alloc() API")
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> ---
> v2:
> - Return ERR_CAST(dp) on failure.  (Luca)
> 
>  drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> index ed35e567d117..efe534977d12 100644
> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> @@ -1474,8 +1474,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
>  
>  	dp = devm_drm_bridge_alloc(dev, struct analogix_dp_device, bridge,
>  				   &analogix_dp_bridge_funcs);
> -	if (!dp)
> -		return ERR_PTR(-ENOMEM);
> +	if (IS_ERR(dp))
> +		return ERR_CAST(dp);

Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH v2] drm/bridge: analogix_dp: Fix bailout for devm_drm_bridge_alloc()
Posted by Liu Ying 1 month, 3 weeks ago
On 8/6/25 17:52, Liu Ying wrote:
> devm_drm_bridge_alloc() returns ERR_PTR on failure instead of a
> NULL pointer, so use IS_ERR() to check the returned pointer.
> While at it, on failure, return ERR_CAST(dp) instead of
> ERR_PTR(-ENOMEM) in order not to depend on devm_drm_bridge_alloc()
> error code implementation.
> 
> Fixes: 48f05c3b4b70 ("drm/bridge: analogix_dp: Use devm_drm_bridge_alloc() API")
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> ---
> v2:
> - Return ERR_CAST(dp) on failure.  (Luca)
> 
>  drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Applied to misc/kernel.git (drm-misc-fixes).

-- 
Regards,
Liu Ying