drm/qxl: reorder calls in qxl_device_fini().
authorGerd Hoffmann <kraxel@redhat.com>
Mon, 10 Feb 2020 11:37:51 +0000 (12:37 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 11 Feb 2020 10:45:51 +0000 (11:45 +0100)
Reorder calls in qxl_device_fini().  Cleaning up gem & ttm
might trigger qxl commands, so we should do that before
releaseing command rings.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20200210113753.5614-2-kraxel@redhat.com
drivers/gpu/drm/qxl/qxl_kms.c

index bfc1631..70b20ee 100644 (file)
@@ -299,12 +299,12 @@ void qxl_device_fini(struct qxl_device *qdev)
 {
        qxl_bo_unref(&qdev->current_release_bo[0]);
        qxl_bo_unref(&qdev->current_release_bo[1]);
+       qxl_gem_fini(qdev);
+       qxl_bo_fini(qdev);
        flush_work(&qdev->gc_work);
        qxl_ring_free(qdev->command_ring);
        qxl_ring_free(qdev->cursor_ring);
        qxl_ring_free(qdev->release_ring);
-       qxl_gem_fini(qdev);
-       qxl_bo_fini(qdev);
        io_mapping_free(qdev->surface_mapping);
        io_mapping_free(qdev->vram_mapping);
        iounmap(qdev->ram_header);