qemu/vdpa-suspend-function-return-0-when-the-vdpa-device-.patch

46 lines
1.4 KiB
Diff
Raw Normal View History

From bd3f62a0df7be244dcd7dab0632883354c476f17 Mon Sep 17 00:00:00 2001
From: jiangdongxu <jiangdongxu1@huawei.com>
Date: Thu, 21 Dec 2023 11:03:37 +0800
Subject: [PATCH] vdpa: suspend function return 0 when the vdpa device is
stopped
When vhost vdpa device is stopped(vdpa->started is false), suspend
operation do nothing and return success, instead of return failure.
The same goes for resume function.
Signed-off-by: jiangdongxu <jiangdongxu1@huawei.com>
---
hw/virtio/vdpa-dev-mig.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/virtio/vdpa-dev-mig.c b/hw/virtio/vdpa-dev-mig.c
index 9cd80f92eb..679d37b182 100644
--- a/hw/virtio/vdpa-dev-mig.c
+++ b/hw/virtio/vdpa-dev-mig.c
@@ -140,8 +140,8 @@ static int vhost_vdpa_device_suspend(VhostVdpaDevice *vdpa)
VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
int ret;
- if (!vdpa->started) {
- return -EFAULT;
+ if (!vdpa->started || vdpa->suspended) {
+ return 0;
}
if (!k->set_guest_notifiers) {
@@ -184,6 +184,10 @@ static int vhost_vdpa_device_resume(VhostVdpaDevice *vdpa)
VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
int i, ret;
+ if (vdpa->started || !vdpa->suspended) {
+ return 0;
+ }
+
if (!k->set_guest_notifiers) {
error_report("binding does not support guest notifiers\n");
return -ENOSYS;
--
2.27.0