summaryrefslogtreecommitdiffstats
path: root/hw/pci
diff options
context:
space:
mode:
authorGerd Hoffmann2021-11-11 14:08:59 +0100
committerMichael S. Tsirkin2021-11-15 17:10:11 +0100
commit18416c62e36a79823a9e28f6b2260aa13c25e1d9 (patch)
tree80244a43268a1b07ade7a4fe0700baed9e244a98 /hw/pci
parentpcie: fast unplug when slot power is off (diff)
downloadqemu-18416c62e36a79823a9e28f6b2260aa13c25e1d9.tar.gz
qemu-18416c62e36a79823a9e28f6b2260aa13c25e1d9.tar.xz
qemu-18416c62e36a79823a9e28f6b2260aa13c25e1d9.zip
pcie: expire pending delete
Add an expire time for pending delete, once the time is over allow pressing the attention button again. This makes pcie hotplug behave more like acpi hotplug, where one can try sending an 'device_del' monitor command again in case the guest didn't respond to the first attempt. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-Id: <20211111130859.1171890-7-kraxel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/pci')
-rw-r--r--hw/pci/pcie.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c
index a930ac738a..c5ed266337 100644
--- a/hw/pci/pcie.c
+++ b/hw/pci/pcie.c
@@ -548,6 +548,8 @@ void pcie_cap_slot_unplug_request_cb(HotplugHandler *hotplug_dev,
}
dev->pending_deleted_event = true;
+ dev->pending_deleted_expires_ms =
+ qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + 5000; /* 5 secs */
/* In case user cancel the operation of multi-function hot-add,
* remove the function that is unexposed to guest individually,