On Mon, 5 Nov 2018 at 15:59, Sam Bobroff <sbobroff@xxxxxxxxxxxxx> wrote: > > When unloading the ast driver, a warning message is printed by > drm_mode_config_cleanup() because a reference is still held to one of > the drm_connector structs. > > Correct this by calling drm_framebuffer_remove() in > ast_fbdev_destroy(). > > Signed-off-by: Sam Bobroff <sbobroff@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/ast/ast_fb.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c > index 0cd827e11fa2..655372ea81e9 100644 > --- a/drivers/gpu/drm/ast/ast_fb.c > +++ b/drivers/gpu/drm/ast/ast_fb.c > @@ -263,6 +263,10 @@ static void ast_fbdev_destroy(struct drm_device *dev, > { > struct ast_framebuffer *afb = &afbdev->afb; > > + /* drm_framebuffer_remove() expects us to hold a ref, which it > + * will drop, so take one: */ > + drm_framebuffer_get(&afb->base); > + drm_framebuffer_remove(&afb->base); This doesn't seem corret, no other driver does this pattern, and I can't believe ast is special here. The get just doesn't make sense. Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel