pcie_sriov: Reset SR-IOV extended capability
commitc8bc4db403e17663b69d811e69f88c9dfc6f7be2
authorAkihiko Odaki <akihiko.odaki@daynix.com>
Wed, 28 Feb 2024 11:33:14 +0000 (28 20:33 +0900)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 12 Mar 2024 21:56:55 +0000 (12 17:56 -0400)
tree83a4d140091e226323db81c7926ec4103053fc48
parent6081b4243cd64dff1b2cf5b0c215c71e9d7e753b
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>
hw/net/igb.c
hw/nvme/ctrl.c
hw/pci/pcie_sriov.c
include/hw/pci/pcie_sriov.h