mirror of https://github.com/proxmox/mirror_qemu
pci: call hotplug callback even when not hotplug case for later use.
call hotplug callback even when not hotplug case for later use. And move hotplug check into hotplug callback. PCIE slot needs this for card presence detection. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>master
parent
f4c817e000
commit
5beb8ad503
|
@ -611,6 +611,9 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev, int state)
|
|||
PIIX4PMState *s = DO_UPCAST(PIIX4PMState, dev,
|
||||
DO_UPCAST(PCIDevice, qdev, qdev));
|
||||
|
||||
if (!dev->qdev.hotplugged)
|
||||
return 0;
|
||||
|
||||
s->pci0_status.up = 0;
|
||||
s->pci0_status.down = 0;
|
||||
if (state) {
|
||||
|
|
3
hw/pci.c
3
hw/pci.c
|
@ -1514,7 +1514,8 @@ static int pci_qdev_init(DeviceState *qdev, DeviceInfo *base)
|
|||
pci_dev->romfile = qemu_strdup(info->romfile);
|
||||
pci_add_option_rom(pci_dev);
|
||||
|
||||
if (qdev->hotplugged) {
|
||||
if (bus->hotplug) {
|
||||
/* lower layer must check qdev->hotplugged */
|
||||
rc = bus->hotplug(bus->hotplug_qdev, pci_dev, 1);
|
||||
if (rc != 0) {
|
||||
int r = pci_unregister_device(&pci_dev->qdev);
|
||||
|
|
Loading…
Reference in New Issue