From: Gonglei <arei.gong...@huawei.com> It's enough to report an error. Assert() is not acceptable because the error is not a fatal error.
Signed-off-by: Gonglei <arei.gong...@huawei.com> --- hw/pci/pcie.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c index a123c01..7b46140 100644 --- a/hw/pci/pcie.c +++ b/hw/pci/pcie.c @@ -254,7 +254,11 @@ void pcie_cap_slot_hotplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, * Right now, only a device of function = 0 is allowed to be * hot plugged/unplugged. */ - assert(PCI_FUNC(pci_dev->devfn) == 0); + if (PCI_FUNC(pci_dev->devfn) != 0) { + error_setg(errp, "Unsupported device function %d for PCIe hotplugging, " + "only supported function 0", PCI_FUNC(pci_dev->devfn)); + return; + } pci_word_test_and_set_mask(exp_cap + PCI_EXP_SLTSTA, PCI_EXP_SLTSTA_PDS); -- 1.7.12.4