Message ID | 20210721140714.138638-1-ani@anisinha.ca (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/acpi: some cosmetic improvements to existing code | expand |
Please scratch this. I will resend with my nokia email removed. This work does not involve Nokia. Ani On Wed, 21 Jul 2021, Ani Sinha wrote: > From: Ani Sinha <anirban.sinha@nokia.com> > > All existing code using acpi_get_i386_pci_host() checks for a non-null > return from this function call. This change brings the same check to > acpi_pcihp_disable_root_bus() function. Also adds a comment describing > why we unconditionally pass a truth value to the last argument when calling > acpi_pcihp_reset() from ich9 platform. > > Fixes: c0e427d6eb5fef ("hw/acpi/ich9: Enable ACPI PCI hot-plug") > > Signed-off-by: Ani Sinha <ani@anisinha.ca> > --- > hw/acpi/ich9.c | 1 + > hw/acpi/pcihp.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c > index 778e27b659..58d8430eb9 100644 > --- a/hw/acpi/ich9.c > +++ b/hw/acpi/ich9.c > @@ -281,6 +281,7 @@ static void pm_reset(void *opaque) > pm->smi_en_wmask = ~0; > > if (pm->use_acpi_hotplug_bridge) { > + /* on root PCIE bus, we always use native or SHPC based hotplug */ > acpi_pcihp_reset(&pm->acpi_pci_hotplug, true); > } > > diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c > index f4d706e47d..856c6e1b47 100644 > --- a/hw/acpi/pcihp.c > +++ b/hw/acpi/pcihp.c > @@ -136,6 +136,11 @@ static void acpi_pcihp_disable_root_bus(void) > return; > } > > + if (!host) { > + root_hp_disabled = true; > + return; > + } > + > bus = PCI_HOST_BRIDGE(host)->bus; > if (bus) { > /* setting the hotplug handler to NULL makes the bus non-hotpluggable */ > -- > 2.25.1 > >
diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 778e27b659..58d8430eb9 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -281,6 +281,7 @@ static void pm_reset(void *opaque) pm->smi_en_wmask = ~0; if (pm->use_acpi_hotplug_bridge) { + /* on root PCIE bus, we always use native or SHPC based hotplug */ acpi_pcihp_reset(&pm->acpi_pci_hotplug, true); } diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index f4d706e47d..856c6e1b47 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -136,6 +136,11 @@ static void acpi_pcihp_disable_root_bus(void) return; } + if (!host) { + root_hp_disabled = true; + return; + } + bus = PCI_HOST_BRIDGE(host)->bus; if (bus) { /* setting the hotplug handler to NULL makes the bus non-hotpluggable */