On Mon, Nov 03, 2014 at 10:27:48AM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > Drop a reference instead of directly calling the framebuffer .destroy() > callback at fbdev free time. This is necessary to make sure the object > isn't destroyed if anyone else still has a reference. > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > drivers/gpu/drm/tegra/fb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c > index c5fa3c4b2ed5..17a29971a7ee 100644 > --- a/drivers/gpu/drm/tegra/fb.c > +++ b/drivers/gpu/drm/tegra/fb.c > @@ -355,7 +355,7 @@ static void tegra_fbdev_free(struct tegra_fbdev *fbdev) > > if (fbdev->fb) { > drm_framebuffer_unregister_private(&fbdev->fb->base); > - tegra_fb_destroy(&fbdev->fb->base); > + drm_framebuffer_unreference(&fbdev->fb->base); Yeah this is better since you have a free-standing fb pointer. I think most kms drivers copied this stuff from i915, which just embedded the framebuffer. And then calling unref obviously is a bad idea since the kfree will blow up. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > } > > drm_fb_helper_fini(&fbdev->base); > -- > 2.1.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel