Message ID | 152791813206.257724.14863139556803168986.stgit@bhelgaas-glaptop.roam.corp.google.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Sat, Jun 02, 2018 at 12:42:12AM -0500, Bjorn Helgaas wrote: > From: Bjorn Helgaas <bhelgaas@google.com> > > The fix for an AMD POGO erratum related to SHPC incorrectly identified the > device. The workaround should be applied only for AMD POGO devices, but it > was instead applied to: > > - all AMD bridges, and > - all devices from any vendor with device ID 0x7458 Good catch. Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
On Sat, Jun 2, 2018 at 7:42 AM, Bjorn Helgaas <helgaas@kernel.org> wrote: > From: Bjorn Helgaas <bhelgaas@google.com> > > The fix for an AMD POGO erratum related to SHPC incorrectly identified the > device. The workaround should be applied only for AMD POGO devices, but it > was instead applied to: > > - all AMD bridges, and > - all devices from any vendor with device ID 0x7458 > > Fixes: 53044f357448 ("[PATCH] PCI Hotplug: shpchp: AMD POGO errata fix") > Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > drivers/pci/hotplug/shpchp_ctrl.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c > index bedda5bda910..1047b56e5730 100644 > --- a/drivers/pci/hotplug/shpchp_ctrl.c > +++ b/drivers/pci/hotplug/shpchp_ctrl.c > @@ -585,13 +585,13 @@ static int shpchp_enable_slot (struct slot *p_slot) > ctrl_dbg(ctrl, "%s: p_slot->pwr_save %x\n", __func__, p_slot->pwr_save); > p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); > > - if (((p_slot->ctrl->pci_dev->vendor == PCI_VENDOR_ID_AMD) || > - (p_slot->ctrl->pci_dev->device == PCI_DEVICE_ID_AMD_POGO_7458)) > + if ((p_slot->ctrl->pci_dev->vendor == PCI_VENDOR_ID_AMD && > + p_slot->ctrl->pci_dev->device == PCI_DEVICE_ID_AMD_POGO_7458) > && p_slot->ctrl->num_slots == 1) { > - /* handle amd pogo errata; this must be done before enable */ > + /* handle AMD POGO errata; this must be done before enable */ > amd_pogo_errata_save_misc_reg(p_slot); > retval = board_added(p_slot); > - /* handle amd pogo errata; this must be done after enable */ > + /* handle AMD POGO errata; this must be done after enable */ > amd_pogo_errata_restore_misc_reg(p_slot); > } else > retval = board_added(p_slot); > > -- > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c index bedda5bda910..1047b56e5730 100644 --- a/drivers/pci/hotplug/shpchp_ctrl.c +++ b/drivers/pci/hotplug/shpchp_ctrl.c @@ -585,13 +585,13 @@ static int shpchp_enable_slot (struct slot *p_slot) ctrl_dbg(ctrl, "%s: p_slot->pwr_save %x\n", __func__, p_slot->pwr_save); p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); - if (((p_slot->ctrl->pci_dev->vendor == PCI_VENDOR_ID_AMD) || - (p_slot->ctrl->pci_dev->device == PCI_DEVICE_ID_AMD_POGO_7458)) + if ((p_slot->ctrl->pci_dev->vendor == PCI_VENDOR_ID_AMD && + p_slot->ctrl->pci_dev->device == PCI_DEVICE_ID_AMD_POGO_7458) && p_slot->ctrl->num_slots == 1) { - /* handle amd pogo errata; this must be done before enable */ + /* handle AMD POGO errata; this must be done before enable */ amd_pogo_errata_save_misc_reg(p_slot); retval = board_added(p_slot); - /* handle amd pogo errata; this must be done after enable */ + /* handle AMD POGO errata; this must be done after enable */ amd_pogo_errata_restore_misc_reg(p_slot); } else retval = board_added(p_slot);