s390x/pci: clean up s390 PCI groups
Add a step to remove all stashed PCI groups to avoid stale data between machine resets. Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
28dc86a072
commit
b354d5d804
@ -813,6 +813,17 @@ static void s390_pcihost_realize(DeviceState *dev, Error **errp)
|
||||
S390_ADAPTER_SUPPRESSIBLE, errp);
|
||||
}
|
||||
|
||||
static void s390_pcihost_unrealize(DeviceState *dev)
|
||||
{
|
||||
S390PCIGroup *group;
|
||||
S390pciState *s = S390_PCI_HOST_BRIDGE(dev);
|
||||
|
||||
while (!QTAILQ_EMPTY(&s->zpci_groups)) {
|
||||
group = QTAILQ_FIRST(&s->zpci_groups);
|
||||
QTAILQ_REMOVE(&s->zpci_groups, group, link);
|
||||
}
|
||||
}
|
||||
|
||||
static int s390_pci_msix_init(S390PCIBusDevice *pbdev)
|
||||
{
|
||||
char *name;
|
||||
@ -1171,6 +1182,7 @@ static void s390_pcihost_class_init(ObjectClass *klass, void *data)
|
||||
|
||||
dc->reset = s390_pcihost_reset;
|
||||
dc->realize = s390_pcihost_realize;
|
||||
dc->unrealize = s390_pcihost_unrealize;
|
||||
hc->pre_plug = s390_pcihost_pre_plug;
|
||||
hc->plug = s390_pcihost_plug;
|
||||
hc->unplug_request = s390_pcihost_unplug_request;
|
||||
|
Loading…
Reference in New Issue
Block a user