Unverified Commit 9fbc8c4f authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!360 [sync] PR-338: Fix virtio-gpu free issues

Merge Pull Request from: @openeuler-sync-bot 
 

Origin pull request: 
https://gitee.com/openeuler/kernel/pulls/338 
 
This PR is to backport upstream fix for virtio-gpu free issues on probe failure

issues:
First appearance in stratovirt test as a guest:
issue number:I66GGJ
Corresponding Kernel Issue
issue number:I688N6 
 
Link:https://gitee.com/openeuler/kernel/pulls/360

 

Reviewed-by: default avatarKevin Zhu <zhukeqian1@huawei.com>
Reviewed-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents 084deff8 00e0719a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -122,11 +122,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;
+3 −0
Original line number Diff line number Diff line
@@ -240,6 +240,9 @@ void virtio_gpu_release(struct drm_device *dev)
{
	struct virtio_gpu_device *vgdev = dev->dev_private;

	if (!vgdev)
		return;

	virtio_gpu_modeset_fini(vgdev);
	virtio_gpu_free_vbufs(vgdev);
	virtio_gpu_cleanup_cap_cache(vgdev);