ia64/linux-2.6.18-xen.hg

changeset 808:31f138db8eef

Backport: PCI: handle 64-bit resources better on 32-bit machines

commit cc5499c3a607a392e8a7adb934aaf14b2c6a3519
Author: Matthew Wilcox <matthew@wil.cx>
Date: Mon Jul 28 13:39:00 2008 -0400

PCI: handle 64-bit resources better on 32-bit machines

If the kernel is configured to support 64-bit resources on a
32-bit
machine, we can support 64-bit BARs properly. Just change the
condition
to check sizeof(resource_size_t) instead of BITS_PER_LONG.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Mar 13 07:40:10 2009 +0000 (2009-03-13)
parents bca9d4cfbca2
children 6dd975d12fd3
files drivers/pci/probe.c
line diff
     1.1 --- a/drivers/pci/probe.c	Fri Mar 13 07:39:48 2009 +0000
     1.2 +++ b/drivers/pci/probe.c	Fri Mar 13 07:40:10 2009 +0000
     1.3 @@ -230,10 +230,10 @@ static int __pci_read_base(struct pci_de
     1.4  		if (!sz64)
     1.5  			goto fail;
     1.6  
     1.7 -		if ((BITS_PER_LONG < 64) && (sz64 > 0x100000000ULL)) {
     1.8 +		if ((sizeof(resource_size_t) < 8) && (sz64 > 0x100000000ULL)) {
     1.9  			dev_err(&dev->dev, "can't handle 64-bit BAR\n");
    1.10  			goto fail;
    1.11 -		} else if ((BITS_PER_LONG < 64) && l) {
    1.12 +		} else if ((sizeof(resource_size_t) < 8) && l) {
    1.13  			/* Address above 32-bit boundary; disable the BAR */
    1.14  			pci_write_config_dword(dev, pos, 0);
    1.15  			pci_write_config_dword(dev, pos + 4, 0);