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 <narmstr...@baylibre.com> --- 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 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel