mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Add upstream patches needed for PCIe through a switch. Signed-off-by: Tim Harvey <tharvey@gateworks.com> SVN-Revision: 38511
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 8590081d5328fe59d4f72aaadafb47fb91d8dc7c Mon Sep 17 00:00:00 2001
 | 
						|
From: Tim Harvey <tharvey@gateworks.com>
 | 
						|
Date: Thu, 17 Oct 2013 15:52:16 -0700
 | 
						|
Subject: [PATCH] PCI: imx6: fix imprecise abort handler
 | 
						|
 | 
						|
An imprecise abort is triggered when a port behind a switch is accessed
 | 
						|
and no device is present.  At enumeration, imprecise aborts are not enabled
 | 
						|
thus this ends up getting deferred until the kernel has completed init.  At
 | 
						|
that point we must not adjust PC - the handler must do nothing, but a handler
 | 
						|
must exist.
 | 
						|
 | 
						|
This fixes random crashes that occur right after freeing init.
 | 
						|
This is against linux-pci/host-imx6.
 | 
						|
 | 
						|
Acked-by: Marek Vasut <marex@denx.de>
 | 
						|
Tested-by: Marek Vasut <marex@denx.de>
 | 
						|
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
 | 
						|
---
 | 
						|
 drivers/pci/host/pci-imx6.c |    6 ------
 | 
						|
 1 file changed, 6 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/pci/host/pci-imx6.c
 | 
						|
+++ b/drivers/pci/host/pci-imx6.c
 | 
						|
@@ -200,12 +200,6 @@ static int pcie_phy_write(void __iomem *
 | 
						|
 static int imx6q_pcie_abort_handler(unsigned long addr,
 | 
						|
 		unsigned int fsr, struct pt_regs *regs)
 | 
						|
 {
 | 
						|
-	/*
 | 
						|
-	 * If it was an imprecise abort, then we need to correct the
 | 
						|
-	 * return address to be _after_ the instruction.
 | 
						|
-	 */
 | 
						|
-	if (fsr & (1 << 10))
 | 
						|
-		regs->ARM_pc += 4;
 | 
						|
 	return 0;
 | 
						|
 }
 | 
						|
 
 |