diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-06-06 14:10:48 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-06-06 16:33:38 -0400 |
commit | 8d2a171f18f7cc9271ee3b9f1355fa4a13380320 (patch) | |
tree | 74e0ae8bd4835415f0f016d954700e602c605f4f /drivers/pci/pcie/aer/aerdrv_acpi.c | |
parent | a6bd73cdc93ec03781ff99beb5b465fd6ea3a784 (diff) |
PCI/AER: Set dev->__aer_firmware_first only for matching devices
Previously, we always updated info->firmware_first, even for HEST entries
that didn't match the device. Therefore, if the last HEST descriptor was
a PCIe structure that didn't match the device, we always cleared
dev->__aer_firmware_first.
Tested-by: Betty Dall <betty.dall@hp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/pcie/aer/aerdrv_acpi.c')
-rw-r--r-- | drivers/pci/pcie/aer/aerdrv_acpi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/pci/pcie/aer/aerdrv_acpi.c b/drivers/pci/pcie/aer/aerdrv_acpi.c index e7ea5735a61f..cf611ab2193a 100644 --- a/drivers/pci/pcie/aer/aerdrv_acpi.c +++ b/drivers/pci/pcie/aer/aerdrv_acpi.c | |||
@@ -54,16 +54,16 @@ static int aer_hest_parse(struct acpi_hest_header *hest_hdr, void *data) | |||
54 | { | 54 | { |
55 | struct aer_hest_parse_info *info = data; | 55 | struct aer_hest_parse_info *info = data; |
56 | struct acpi_hest_aer_common *p; | 56 | struct acpi_hest_aer_common *p; |
57 | int ff = 0; | 57 | int ff; |
58 | 58 | ||
59 | p = (struct acpi_hest_aer_common *)(hest_hdr + 1); | 59 | p = (struct acpi_hest_aer_common *)(hest_hdr + 1); |
60 | ff = !!(p->flags & ACPI_HEST_FIRMWARE_FIRST); | ||
60 | if (p->flags & ACPI_HEST_GLOBAL) { | 61 | if (p->flags & ACPI_HEST_GLOBAL) { |
61 | if (hest_match_type(hest_hdr, info->pci_dev)) | 62 | if (hest_match_type(hest_hdr, info->pci_dev)) |
62 | ff = !!(p->flags & ACPI_HEST_FIRMWARE_FIRST); | 63 | info->firmware_first = ff; |
63 | } else | 64 | } else |
64 | if (hest_match_pci(p, info->pci_dev)) | 65 | if (hest_match_pci(p, info->pci_dev)) |
65 | ff = !!(p->flags & ACPI_HEST_FIRMWARE_FIRST); | 66 | info->firmware_first = ff; |
66 | info->firmware_first = ff; | ||
67 | 67 | ||
68 | return 0; | 68 | return 0; |
69 | } | 69 | } |