summary refs log tree commit diff stats
path: root/hw/net/igb.c
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-02-28 20:33:14 +0900
committerMichael S. Tsirkin <mst@redhat.com>2024-03-12 17:56:55 -0400
commitc8bc4db403e17663b69d811e69f88c9dfc6f7be2 (patch)
tree83a4d140091e226323db81c7926ec4103053fc48 /hw/net/igb.c
parent6081b4243cd64dff1b2cf5b0c215c71e9d7e753b (diff)
downloadfocaccia-qemu-c8bc4db403e17663b69d811e69f88c9dfc6f7be2.tar.gz
focaccia-qemu-c8bc4db403e17663b69d811e69f88c9dfc6f7be2.zip
pcie_sriov: Reset SR-IOV extended capability
pcie_sriov_pf_disable_vfs() is called when resetting the PF, but it only
disables VFs and does not reset SR-IOV extended capability, leaking the
state and making the VF Enable register inconsistent with the actual
state.

Replace pcie_sriov_pf_disable_vfs() with pcie_sriov_pf_reset(), which
does not only disable VFs but also resets the capability.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240228-reuse-v8-3-282660281e60@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Sriram Yagnaraman <sriram.yagnaraman@ericsson.com>
Diffstat (limited to 'hw/net/igb.c')
-rw-r--r--hw/net/igb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/net/igb.c b/hw/net/igb.c
index 0b5c31a58b..9345506f81 100644
--- a/hw/net/igb.c
+++ b/hw/net/igb.c
@@ -493,7 +493,7 @@ static void igb_qdev_reset_hold(Object *obj)
 
     trace_e1000e_cb_qdev_reset_hold();
 
-    pcie_sriov_pf_disable_vfs(d);
+    pcie_sriov_pf_reset(d);
     igb_core_reset(&s->core);
 }