Explorar o código

PCI: fix wrong memory address handling in MSI-X

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>
Kenji Kaneshige %!s(int64=15) %!d(string=hai) anos
pai
achega
4302e0fb7f
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/pci/msi.c

+ 1 - 1
drivers/pci/msi.c

@@ -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;