summaryrefslogtreecommitdiff
path: root/arch/x86/pci
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2009-11-13 17:33:42 -0700
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-11-24 15:28:37 -0800
commite823d6ff581c5d1d76aa8c73a202d7d1419d34b8 (patch)
treef18438693bc2a1871805f9cb7ae46e363184d605 /arch/x86/pci
parent5663b1b963183e98ece3e77e471da833bb5ad2ff (diff)
x86/PCI: MMCONFIG: count MCFG structures with local variable
Use a local variable, not pci_mmcfg_config_num, to count MCFG entries. No functional change, but simplifies future changes. Reviewed-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/x86/pci')
-rw-r--r--arch/x86/pci/mmconfig-shared.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c
index 9bf04bcfb9c2..fbadb89c71eb 100644
--- a/arch/x86/pci/mmconfig-shared.c
+++ b/arch/x86/pci/mmconfig-shared.c
@@ -555,7 +555,7 @@ static int __init pci_parse_mcfg(struct acpi_table_header *header)
{
struct acpi_table_mcfg *mcfg;
unsigned long i;
- int config_size;
+ int entries, config_size;
if (!header)
return -EINVAL;
@@ -564,17 +564,18 @@ static int __init pci_parse_mcfg(struct acpi_table_header *header)
/* how many config structures do we have */
pci_mmcfg_config_num = 0;
+ entries = 0;
i = header->length - sizeof(struct acpi_table_mcfg);
while (i >= sizeof(struct acpi_mcfg_allocation)) {
- ++pci_mmcfg_config_num;
+ entries++;
i -= sizeof(struct acpi_mcfg_allocation);
};
- if (pci_mmcfg_config_num == 0) {
+ if (entries == 0) {
printk(KERN_ERR PREFIX "MMCONFIG has no entries\n");
return -ENODEV;
}
- config_size = pci_mmcfg_config_num * sizeof(*pci_mmcfg_config);
+ config_size = entries * sizeof(*pci_mmcfg_config);
pci_mmcfg_config = kmalloc(config_size, GFP_KERNEL);
if (!pci_mmcfg_config) {
printk(KERN_WARNING PREFIX
@@ -583,8 +584,9 @@ static int __init pci_parse_mcfg(struct acpi_table_header *header)
}
memcpy(pci_mmcfg_config, &mcfg[1], config_size);
+ pci_mmcfg_config_num = entries;
- for (i = 0; i < pci_mmcfg_config_num; ++i) {
+ for (i = 0; i < entries; i++) {
if (acpi_mcfg_check_entry(mcfg, &pci_mmcfg_config[i])) {
kfree(pci_mmcfg_config);
pci_mmcfg_config_num = 0;