x86, mrst, pci: return 0 for non-present pci bars
authorJacob Pan <jacob.jun.pan@linux.intel.com>
Fri, 14 May 2010 21:41:14 +0000 (14:41 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Mon, 17 May 2010 05:45:36 +0000 (22:45 -0700)
Moorestown PCI code has special handling of devices with fixed BARs. In
case of BAR sizing writes, we need to update the fake PCI MMCFG space with real
size decode value.

When a BAR is not present, we need to return 0 instead of ~0. ~0 will be
treated as device error per bugzilla 12006.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
LKML-Reference: <1273873281-17489-2-git-send-email-jacob.jun.pan@linux.intel.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/pci/mrst.c

index 8bf2fcb88d0427ff5c63e37fab736355ecbc8332..d5c7aefe56ff080685b96f3797b39a34165c1623 100644 (file)
@@ -109,7 +109,7 @@ static int pci_device_update_fixed(struct pci_bus *bus, unsigned int devfn,
                        decode++;
                        decode = ~(decode - 1);
                } else {
-                       decode = ~0;
+                       decode = 0;
                }
 
                /*