Re: [Qemu-devel] [PATCH] sii3112: Remove unneeded exit function
On 03/06/2018 09:23 PM, David Gibson wrote: > 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>> Signed-off-by: BALATON Zoltan > > Applied to ppc-for-2.12, thanks. > Beat me to it, thanks! I'm a little distracted right now. >> --- >> 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(>bmdma_bar, >bmdma[i].extra_io); >> -memory_region_del_subregion(>bmdma_bar, >> >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); >> } >
Re: [Qemu-devel] [PATCH] sii3112: Remove unneeded exit function
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> Signed-off-by: BALATON Zoltan 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(>bmdma_bar, >bmdma[i].extra_io); > -memory_region_del_subregion(>bmdma_bar, >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
[Qemu-devel] [PATCH] sii3112: Remove unneeded exit function
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 HuthSigned-off-by: BALATON Zoltan --- 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(>bmdma_bar, >bmdma[i].extra_io); -memory_region_del_subregion(>bmdma_bar, >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); } -- 2.7.6