Message ID | 20190204095532.27185-1-narmstrong@baylibre.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Neil Armstrong |
Headers | show |
Series | drm/meson: handle when meson_canvas_get returns -EPROBE_DEFER | expand |
Hi Neil, On Mon, Feb 4, 2019 at 10:55 AM Neil Armstrong <narmstrong@baylibre.com> wrote: > > 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@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 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel With the upcoming patch series that aims at removing the DMC register range from the DRM driver's control, this fix will be incorporated, although rewritten because of code modifications in this partilcular area. Maxime
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;
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@baylibre.com> --- drivers/gpu/drm/meson/meson_drv.c | 3 +++ 1 file changed, 3 insertions(+)