mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
pcie_sriov: Do not reset NumVFs after disabling VFs
The spec does not NumVFs is reset after disabling VFs except when
resetting the PF. Clearing it is guest visible and out of spec, even
though Linux doesn't rely on this value being preserved, so we never
noticed.
Fixes: 7c0fa8dff8
("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240228-reuse-v8-4-282660281e60@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
c8bc4db403
commit
63eb76dda2
1 changed files with 2 additions and 1 deletions
|
@ -215,7 +215,6 @@ static void unregister_vfs(PCIDevice *dev)
|
|||
g_free(dev->exp.sriov_pf.vf);
|
||||
dev->exp.sriov_pf.vf = NULL;
|
||||
dev->exp.sriov_pf.num_vfs = 0;
|
||||
pci_set_word(dev->config + dev->exp.sriov_cap + PCI_SRIOV_NUM_VF, 0);
|
||||
}
|
||||
|
||||
void pcie_sriov_config_write(PCIDevice *dev, uint32_t address,
|
||||
|
@ -260,6 +259,8 @@ void pcie_sriov_pf_reset(PCIDevice *dev)
|
|||
pci_set_word(dev->config + sriov_cap + PCI_SRIOV_CTRL, 0);
|
||||
unregister_vfs(dev);
|
||||
|
||||
pci_set_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF, 0);
|
||||
|
||||
/*
|
||||
* Default is to use 4K pages, software can modify it
|
||||
* to any of the supported bits
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue