On Wed, Mar 07, 2018 at 12:15:15AM +0100, BALATON Zoltan wrote: > An exit function was mistakenly left here but it's not needed because > the PCI bars are organised differently in this device. Calling this > exit function during device_del was causing an abort with > memory_region_del_subregion: `Assertion subregion->container == mr' failed. > > Reported-by: Thomas Huth <th...@redhat.com> > Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu>
Applied to ppc-for-2.12, thanks. > --- > hw/ide/sii3112.c | 12 ------------ > 1 file changed, 12 deletions(-) > > diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c > index e3896c6..743a50e 100644 > --- a/hw/ide/sii3112.c > +++ b/hw/ide/sii3112.c > @@ -327,17 +327,6 @@ static void sii3112_pci_realize(PCIDevice *dev, Error > **errp) > qemu_register_reset(sii3112_reset, s); > } > > -static void sii3112_pci_exitfn(PCIDevice *dev) > -{ > - PCIIDEState *d = PCI_IDE(dev); > - int i; > - > - for (i = 0; i < 2; ++i) { > - memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].extra_io); > - memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].addr_ioport); > - } > -} > - > static void sii3112_pci_class_init(ObjectClass *klass, void *data) > { > DeviceClass *dc = DEVICE_CLASS(klass); > @@ -348,7 +337,6 @@ static void sii3112_pci_class_init(ObjectClass *klass, > void *data) > pd->class_id = PCI_CLASS_STORAGE_RAID; > pd->revision = 1; > pd->realize = sii3112_pci_realize; > - pd->exit = sii3112_pci_exitfn; > dc->desc = "SiI3112A SATA controller"; > set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); > } -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature