computing-offload/generic_vdpa/qemu/0013-vdpa-suspend-function-return-0-when-the-vdpa-device-.patch
jiangdongxu fac818adb1 vdpa: change libvirt/qemu/kernel base version and docs
Change-Id: I574115f5e44e56ac2baaad71eeab6b9fd7149747
2024-10-15 17:39:52 +08:00

46 lines
1.4 KiB
Diff

From af36d2e2087f6038f7fd8ad9f94f8ad2b5c68b74 Mon Sep 17 00:00:00 2001
From: libai <libai12@huawei.com>
Date: Thu, 21 Dec 2023 11:03:37 +0800
Subject: [PATCH 13/16] 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: libai <libai12@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 8b13f89..b889dd4 100644
--- a/hw/virtio/vdpa-dev-mig.c
+++ b/hw/virtio/vdpa-dev-mig.c
@@ -134,8 +134,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) {
@@ -178,6 +178,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.46.0.windows.1