[PATCH 3.19.y-ckt 076/102] PCI: Don't use 64-bit bus addresses on PA-RISC

Kamal Mostafa kamal at canonical.com
Tue Sep 22 17:52:12 UTC 2015


3.19.8-ckt7 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Bjorn Helgaas <bhelgaas at google.com>

commit 45ea2a5fed6dacb9bb0558d8b21eacc1c45d5bb4 upstream.

Meelis and Helge reported that 3a9ad0b4fdcd ("PCI: Add pci_bus_addr_t")
caused HPMCs on A500 and hangs on rp5470.

PA-RISC does not set ARCH_DMA_ADDR_T_64BIT, even for 64-bit kernels, so
prior to 3a9ad0b4fdcd, we always used 32-bit PCI addresses.  After
3a9ad0b4fdcd, we do use 64-bit PCI addresses in 64-bit kernels, and
apparently there's some PA-RISC problem related to them.

Fixes: 3a9ad0b4fdcd ("PCI: Add pci_bus_addr_t")
Link: http://lkml.kernel.org/r/alpine.LRH.2.11.1507260929000.30065@math.ut.ee
Reported-by: Meelis Roos <mroos at linux.ee>
Reported-by: Helge Deller <deller at gmx.de>
Tested-by: Helge Deller <deller at gmx.de>
Based-on-idea-by: Yinghai Lu <yinghai at kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Acked-by: Yinghai Lu <yinghai at kernel.org>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 drivers/pci/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 73de4ef..944f500 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -2,7 +2,7 @@
 # PCI configuration
 #
 config PCI_BUS_ADDR_T_64BIT
-	def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
+	def_bool y if (ARCH_DMA_ADDR_T_64BIT || (64BIT && !PARISC))
 	depends on PCI
 
 config PCI_MSI
-- 
1.9.1





More information about the kernel-team mailing list