Message ID | 20210203131615.1714021-4-kraxel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/qxl: fix driver shutdown issues. | expand |
Hi Am 03.02.21 um 14:16 schrieb Gerd Hoffmann: > In case we have a shadow surface on shutdown release > it so it doesn't leak. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > drivers/gpu/drm/qxl/qxl_display.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c > index 38d6b596094d..60331e31861a 100644 > --- a/drivers/gpu/drm/qxl/qxl_display.c > +++ b/drivers/gpu/drm/qxl/qxl_display.c > @@ -1229,5 +1229,9 @@ int qxl_modeset_init(struct qxl_device *qdev) > > void qxl_modeset_fini(struct qxl_device *qdev) > { > + if (qdev->dumb_shadow_bo) { > + drm_gem_object_put(&qdev->dumb_shadow_bo->tbo.base); > + qdev->dumb_shadow_bo = NULL; > + } In qxl_plane_prepare_fb(), qdev->dumb_shadow_bo is being created as pinned object. Wouldn't it have to be unpinned here and during the release in qxl_plane_prepare_fb()? Best regards Thomas > qxl_destroy_monitors_object(qdev); > } >
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 38d6b596094d..60331e31861a 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -1229,5 +1229,9 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { + if (qdev->dumb_shadow_bo) { + drm_gem_object_put(&qdev->dumb_shadow_bo->tbo.base); + qdev->dumb_shadow_bo = NULL; + } qxl_destroy_monitors_object(qdev); }
In case we have a shadow surface on shutdown release it so it doesn't leak. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- drivers/gpu/drm/qxl/qxl_display.c | 4 ++++ 1 file changed, 4 insertions(+)