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 > --- > 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); > } > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer