PCI: fix wrong memory address handling in MSI-X
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Thu, 17 Jun 2010 01:42:44 +0000 (10:42 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 30 Jul 2010 16:29:14 +0000 (09:29 -0700)
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 77b68eaf021e43152c4bbd257bd190a4a210473c..6a0f2f07f95543ebf2a10f7412ce1927fe2ff9f0 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;