2019-01-11 14:22:34

by Rob Clark

[permalink] [raw]
Subject: [PATCH] drm/cirrus: fix connector leak at unload

This fixes an '*ERROR* connector VGA-2 leaked!' splat at driver unload.

Signed-off-by: Rob Clark <[email protected]>
---
Similar case to the issue that was fixed recently in drm/ast

drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 4dd499c7d1ba..bb379ec4c182 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -256,6 +256,8 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
{
struct drm_framebuffer *gfb = gfbdev->gfb;

+ drm_crtc_force_disable_all(dev);
+
drm_fb_helper_unregister_fbi(&gfbdev->helper);

vfree(gfbdev->sysram);
--
2.20.1



2019-01-11 22:09:10

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] drm/cirrus: fix connector leak at unload

On Fri, Jan 11, 2019 at 09:02:34AM -0500, Rob Clark wrote:
> This fixes an '*ERROR* connector VGA-2 leaked!' splat at driver unload.
>
> Signed-off-by: Rob Clark <[email protected]>
> ---
> Similar case to the issue that was fixed recently in drm/ast

Reviewed-by: Daniel Vetter <[email protected]>

>
> drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> index 4dd499c7d1ba..bb379ec4c182 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> @@ -256,6 +256,8 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
> {
> struct drm_framebuffer *gfb = gfbdev->gfb;
>
> + drm_crtc_force_disable_all(dev);
> +
> drm_fb_helper_unregister_fbi(&gfbdev->helper);
>
> vfree(gfbdev->sysram);
> --
> 2.20.1
>
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2019-01-11 22:18:11

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] drm/cirrus: fix connector leak at unload

On Fri, Jan 11, 2019 at 11:06:20PM +0100, Daniel Vetter wrote:
> On Fri, Jan 11, 2019 at 09:02:34AM -0500, Rob Clark wrote:
> > This fixes an '*ERROR* connector VGA-2 leaked!' splat at driver unload.
> >
> > Signed-off-by: Rob Clark <[email protected]>
> > ---
> > Similar case to the issue that was fixed recently in drm/ast
>
> Reviewed-by: Daniel Vetter <[email protected]>

Actually I just pushed a patch to drm-misc-next to rename this function to
drm_helper_force_disable_all(), so you need to respin ... My r-b still
holds.
-Daniel

>
> >
> > drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> > index 4dd499c7d1ba..bb379ec4c182 100644
> > --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> > +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> > @@ -256,6 +256,8 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
> > {
> > struct drm_framebuffer *gfb = gfbdev->gfb;
> >
> > + drm_crtc_force_disable_all(dev);
> > +
> > drm_fb_helper_unregister_fbi(&gfbdev->helper);
> >
> > vfree(gfbdev->sysram);
> > --
> > 2.20.1
> >
> > _______________________________________________
> > dri-devel mailing list
> > [email protected]
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2019-01-14 07:40:32

by Gerd Hoffmann

[permalink] [raw]
Subject: Re: [PATCH] drm/cirrus: fix connector leak at unload

On Fri, Jan 11, 2019 at 11:16:38PM +0100, Daniel Vetter wrote:
> On Fri, Jan 11, 2019 at 11:06:20PM +0100, Daniel Vetter wrote:
> > On Fri, Jan 11, 2019 at 09:02:34AM -0500, Rob Clark wrote:
> > > This fixes an '*ERROR* connector VGA-2 leaked!' splat at driver unload.
> > >
> > > Signed-off-by: Rob Clark <[email protected]>
> > > ---
> > > Similar case to the issue that was fixed recently in drm/ast
> >
> > Reviewed-by: Daniel Vetter <[email protected]>
>
> Actually I just pushed a patch to drm-misc-next to rename this function to
> drm_helper_force_disable_all(), so you need to respin ... My r-b still
> holds.

Fixed and queued up.

thanks,
Gerd