| From 7b07cdea7995a429206bf9dda711eaafaf890028 Mon Sep 17 00:00:00 2001 |
| From: Bjorn Helgaas <bhelgaas@google.com> |
| Date: Tue, 23 Aug 2011 10:16:43 -0600 |
| Subject: [PATCH 03/24] PCI hotplug: shpchp: don't blindly claim non-AMD |
| 0x7450 device IDs |
| |
| commit 4cac2eb158c6da0c761689345c6cc5df788a6292 upstream. |
| |
| Previously we claimed device ID 0x7450, regardless of the vendor, which is |
| clearly wrong. Now we'll claim that device ID only for AMD. |
| |
| I suspect this was just a typo in the original code, but it's possible this |
| change will break shpchp on non-7450 AMD bridges. If so, we'll have to fix |
| them as we find them. |
| |
| Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638863 |
| Reported-by: Ralf Jung <ralfjung-e@gmx.de> |
| Cc: Joerg Roedel <joerg.roedel@amd.com> |
| Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> |
| Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| drivers/pci/hotplug/shpchp_core.c | 4 ++-- |
| drivers/pci/hotplug/shpchp_hpc.c | 4 ++-- |
| 2 files changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c |
| index a7bd504..2ee01b6 100644 |
| --- a/drivers/pci/hotplug/shpchp_core.c |
| +++ b/drivers/pci/hotplug/shpchp_core.c |
| @@ -278,8 +278,8 @@ static int get_adapter_status (struct hotplug_slot *hotplug_slot, u8 *value) |
| |
| static int is_shpc_capable(struct pci_dev *dev) |
| { |
| - if ((dev->vendor == PCI_VENDOR_ID_AMD) || (dev->device == |
| - PCI_DEVICE_ID_AMD_GOLAM_7450)) |
| + if (dev->vendor == PCI_VENDOR_ID_AMD && |
| + dev->device == PCI_DEVICE_ID_AMD_GOLAM_7450) |
| return 1; |
| if (!pci_find_capability(dev, PCI_CAP_ID_SHPC)) |
| return 0; |
| diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c |
| index 5f5e8d2..f13e724 100644 |
| --- a/drivers/pci/hotplug/shpchp_hpc.c |
| +++ b/drivers/pci/hotplug/shpchp_hpc.c |
| @@ -953,8 +953,8 @@ int shpc_init(struct controller *ctrl, struct pci_dev *pdev) |
| ctrl->pci_dev = pdev; /* pci_dev of the P2P bridge */ |
| ctrl_dbg(ctrl, "Hotplug Controller:\n"); |
| |
| - if ((pdev->vendor == PCI_VENDOR_ID_AMD) || (pdev->device == |
| - PCI_DEVICE_ID_AMD_GOLAM_7450)) { |
| + if (pdev->vendor == PCI_VENDOR_ID_AMD && |
| + pdev->device == PCI_DEVICE_ID_AMD_GOLAM_7450) { |
| /* amd shpc driver doesn't use Base Offset; assume 0 */ |
| ctrl->mmio_base = pci_resource_start(pdev, 0); |
| ctrl->mmio_size = pci_resource_len(pdev, 0); |
| -- |
| 1.7.12.1 |
| |