[PATCH] drm/meson: handle when meson_canvas_get returns -EPROBE_DEFER

From: Neil Armstrong
Date: Mon Feb 04 2019 - 04:55:39 EST


When meson_canvas is not yet probed, meson_canvas_get returns -EPROBE_DEFER.

Handle this case but deferring the probe of the drm driver aswell.

Fixes: 66cae477c380 ("drm/meson: Use optional canvas provider")
Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
---
drivers/gpu/drm/meson/meson_drv.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
index ef4afaadaf8d..17e55d63daff 100644
--- a/drivers/gpu/drm/meson/meson_drv.c
+++ b/drivers/gpu/drm/meson/meson_drv.c
@@ -236,6 +236,9 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
meson_canvas_free(priv->canvas, priv->canvas_id_vd1_1);
goto free_drm;
}
+ } else if (PTR_ERR(priv->canvas) == -EPROBE_DEFER) {
+ ret = PTR_ERR(priv->canvas);
+ goto free_drm;
} else {
priv->canvas = NULL;

--
2.20.1