diff mbox series

[v2,2/3] drm/bridge/lontium-lt9611uxc: fix get_edid return code

Message ID 20210115110225.127075-3-dmitry.baryshkov@linaro.org
State Superseded
Headers show
Series drm/bridge/lontium-lt9611uxc: fix handling of EDID/HPD | expand

Commit Message

Dmitry Baryshkov Jan. 15, 2021, 11:02 a.m. UTC
Return NULL pointer from get_edid() callback rather than ERR_PTR()
pointer, as DRM code does NULL checks rather than IS_ERR(). Also while
we are at it, return NULL if getting EDID timed out.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Fixes: 0cbbd5b1a012 ("drm: bridge: add support for lontium LT9611UXC bridge")
---
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

-- 
2.29.2

Comments

Bjorn Andersson Jan. 15, 2021, 2:59 p.m. UTC | #1
On Fri 15 Jan 05:02 CST 2021, Dmitry Baryshkov wrote:

> Return NULL pointer from get_edid() callback rather than ERR_PTR()

> pointer, as DRM code does NULL checks rather than IS_ERR(). Also while

> we are at it, return NULL if getting EDID timed out.

> 


Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

> Fixes: 0cbbd5b1a012 ("drm: bridge: add support for lontium LT9611UXC bridge")

> ---

>  drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 5 ++++-

>  1 file changed, 4 insertions(+), 1 deletion(-)

> 

> diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c

> index a59e811f1705..b708700e182d 100644

> --- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c

> +++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c

> @@ -505,7 +505,10 @@ static struct edid *lt9611uxc_bridge_get_edid(struct drm_bridge *bridge,

>  	ret = lt9611uxc_wait_for_edid(lt9611uxc);

>  	if (ret < 0) {

>  		dev_err(lt9611uxc->dev, "wait for EDID failed: %d\n", ret);

> -		return ERR_PTR(ret);

> +		return NULL;

> +	} else if (ret == 0) {

> +		dev_err(lt9611uxc->dev, "wait for EDID timeout\n");

> +		return NULL;

>  	}

>  

>  	return drm_do_get_edid(connector, lt9611uxc_get_edid_block, lt9611uxc);

> -- 

> 2.29.2

>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
index a59e811f1705..b708700e182d 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -505,7 +505,10 @@  static struct edid *lt9611uxc_bridge_get_edid(struct drm_bridge *bridge,
 	ret = lt9611uxc_wait_for_edid(lt9611uxc);
 	if (ret < 0) {
 		dev_err(lt9611uxc->dev, "wait for EDID failed: %d\n", ret);
-		return ERR_PTR(ret);
+		return NULL;
+	} else if (ret == 0) {
+		dev_err(lt9611uxc->dev, "wait for EDID timeout\n");
+		return NULL;
 	}
 
 	return drm_do_get_edid(connector, lt9611uxc_get_edid_block, lt9611uxc);