[Spice-devel] [drm/qxl 4/6] qxl: Call qxl_gem_{init,fini}
Christophe Fergeau
cfergeau at redhat.com
Wed Nov 2 16:07:10 UTC 2016
On Mon, Oct 31, 2016 at 07:42:35AM -0400, Frediano Ziglio wrote:
> >
> > qdev->gem.objects was initialized directly in qxl_device_init() rather
> > than going through qxl_gem_init(), and qxl_gem_fini() was never called.
> >
>
> Considering "qxl_gem_fini() was never called" did we have a leak?
Maybe, as this forces the freeing of some pending bo's if they are still in
use. This would only happen when unloading/reloading the module
repeatedly, which I don't expect to happen on production systems.
>
> > Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
> > ---
> > drivers/gpu/drm/qxl/qxl_kms.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
> > index e642242..af685f1 100644
> > --- a/drivers/gpu/drm/qxl/qxl_kms.c
> > +++ b/drivers/gpu/drm/qxl/qxl_kms.c
> > @@ -131,7 +131,7 @@ static int qxl_device_init(struct qxl_device *qdev,
> > mutex_init(&qdev->update_area_mutex);
> > mutex_init(&qdev->release_mutex);
> > mutex_init(&qdev->surf_evict_mutex);
> > - INIT_LIST_HEAD(&qdev->gem.objects);
> > + qxl_gem_init(qdev);
> >
>
> Here qxl_gem_init returns a value that is always ignored, perhaps
> would be better to return void from qxl_gem_init if it cannot
> fails.
Good suggestion, I'll add that to a separate patch.
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20161102/06aaea44/attachment.sig>
More information about the dri-devel
mailing list