On Mon, Apr 01, 2019 at 04:13:58PM +0200, Noralf Trønnes wrote: > Hotplug can happen while drm_fbdev_generic_setup() is running so move > drm_client_add() call after setup is done to avoid > drm_fbdev_client_hotplug() running in two threads at the same time. > > Fixes: 9060d7f49376 ("drm/fb-helper: Finish the generic fbdev emulation") > Reported-by: Daniel Vetter <daniel.vet...@ffwll.ch> > Signed-off-by: Noralf Trønnes <nor...@tronnes.org>
Not sure we even want a cc: stable on this, things could go boom. I guess we could backport once there's a bug report, up to you. Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch> > --- > drivers/gpu/drm/drm_fb_helper.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index 03749a24e4dd..601b17310411 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -3317,8 +3317,6 @@ int drm_fbdev_generic_setup(struct drm_device *dev, > unsigned int preferred_bpp) > return ret; > } > > - drm_client_add(&fb_helper->client); > - > if (!preferred_bpp) > preferred_bpp = dev->mode_config.preferred_depth; > if (!preferred_bpp) > @@ -3329,6 +3327,8 @@ int drm_fbdev_generic_setup(struct drm_device *dev, > unsigned int preferred_bpp) > if (ret) > DRM_DEV_DEBUG(dev->dev, "client hotplug ret=%d\n", ret); > > + drm_client_add(&fb_helper->client); > + > return 0; > } > EXPORT_SYMBOL(drm_fbdev_generic_setup); > -- > 2.20.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel