drm/virtio: free virtqueues on probe failure
authorXie Yongji <xieyongji@bytedance.com>
Mon, 17 May 2021 08:49:13 +0000 (16:49 +0800)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 18 May 2021 08:55:31 +0000 (10:55 +0200)
We should call virtio_gpu_deinit() to free virtqueues when
drm_dev_register() failed.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20210517084913.403-3-xieyongji@bytedance.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/virtio/virtgpu_drv.c

index 33bf5f53ae31c0c0aace25c192d7471dc4513ae5..ca77edbc5ea0ab023eb5273313dd6cf5b774461f 100644 (file)
@@ -125,11 +125,13 @@ static int virtio_gpu_probe(struct virtio_device *vdev)
 
        ret = drm_dev_register(dev, 0);
        if (ret)
-               goto err_free;
+               goto err_deinit;
 
        drm_fbdev_generic_setup(vdev->priv, 32);
        return 0;
 
+err_deinit:
+       virtio_gpu_deinit(dev);
 err_free:
        drm_dev_put(dev);
        return ret;