On Wed, Nov 23, 2016 at 02:04:17PM +0000, Chris Wilson wrote: > Though we only walk the kernel_fb_helper_list inside a panic (or single > thread debugging), we still need to protect the list manipulation on > creating/removing a framebuffer device in order to prevent list > corruption. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> I guess this explains the moved hunk in patch 1. Still feels misplaced, but with or without moving that around: Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/drm_fb_helper.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index a19afc7eccde..2ac2f462d37b 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -49,6 +49,7 @@ MODULE_PARM_DESC(fbdev_emulation, > "Enable legacy fbdev emulation [default=true]"); > > static LIST_HEAD(kernel_fb_helper_list); > +static DEFINE_MUTEX(kernel_fb_helper_lock); > > /** > * DOC: fbdev helpers > @@ -855,12 +856,14 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper) > if (!drm_fbdev_emulation) > return; > > + mutex_lock(&kernel_fb_helper_lock); > if (!list_empty(&fb_helper->kernel_fb_list)) { > list_del(&fb_helper->kernel_fb_list); > if (list_empty(&kernel_fb_helper_list)) { > unregister_sysrq_key('v', &sysrq_drm_fb_helper_restore_op); > } > } > + mutex_unlock(&kernel_fb_helper_lock); > > drm_fb_helper_crtc_free(fb_helper); > > @@ -2257,10 +2260,12 @@ int drm_fb_helper_initial_config(struct drm_fb_helper *fb_helper, int bpp_sel) > dev_info(dev->dev, "fb%d: %s frame buffer device\n", > info->node, info->fix.id); > > + mutex_lock(&kernel_fb_helper_lock); > if (list_empty(&kernel_fb_helper_list)) > register_sysrq_key('v', &sysrq_drm_fb_helper_restore_op); > > list_add(&fb_helper->kernel_fb_list, &kernel_fb_helper_list); > + mutex_unlock(&kernel_fb_helper_lock); > > return 0; > } > -- > 2.10.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx