Message ID | 20210115110225.127075-3-dmitry.baryshkov@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | drm/bridge/lontium-lt9611uxc: fix handling of EDID/HPD | expand |
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 --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);
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