PCI: fix wrong memory address handling in MSI-X
Kenji Kaneshige [Thu, 17 Jun 2010 01:42:44 +0000 (10:42 +0900)]
Use resource_size_t for MMIO address instead of unsigned long. Otherwise,
higher 32-bits of MMIO address are cleared unexpectedly in x86-32 PAE.

Acked-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

drivers/pci/msi.c

index 77b68ea..6a0f2f0 100644 (file)
@@ -435,7 +435,7 @@ static int msi_capability_init(struct pci_dev *dev, int nvec)
 static void __iomem *msix_map_region(struct pci_dev *dev, unsigned pos,
                                                        unsigned nr_entries)
 {
-       unsigned long phys_addr;
+       resource_size_t phys_addr;
        u32 table_offset;
        u8 bir;