# HG changeset patch # User Yu Zhao # Date 1236909173 14400 # Node ID 8bac898877bc9fb52befd566bbb8f04c190006f4 # Parent 7f81d57622ccb390212d1c76308664115ae3a955 Backport: PCI: handle 64-bit resources better on 32-bit machines commit cc5499c3a607a392e8a7adb934aaf14b2c6a3519 Author: Matthew Wilcox 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 Signed-off-by: Jesse Barnes Signed-off-by: Yu Zhao diff -r 7f81d57622cc -r 8bac898877bc drivers/pci/probe.c --- a/drivers/pci/probe.c Thu Mar 12 21:51:47 2009 -0400 +++ b/drivers/pci/probe.c Thu Mar 12 21:52:53 2009 -0400 @@ -230,10 +230,10 @@ if (!sz64) goto fail; - if ((BITS_PER_LONG < 64) && (sz64 > 0x100000000ULL)) { + if ((sizeof(resource_size_t) < 8) && (sz64 > 0x100000000ULL)) { dev_err(&dev->dev, "can't handle 64-bit BAR\n"); goto fail; - } else if ((BITS_PER_LONG < 64) && l) { + } else if ((sizeof(resource_size_t) < 8) && l) { /* Address above 32-bit boundary; disable the BAR */ pci_write_config_dword(dev, pos, 0); pci_write_config_dword(dev, pos + 4, 0);