[PATCH/2.6.17-rc4 7/10] Powerpc: workaround for tsi108 pci confi g read exception

Zang Roy-r61911 tie-fei.zang at freescale.com
Wed May 17 20:14:23 EST 2006


Workaround for Tundra Semiconductor tsi108 host bridge pci config read
exception

Signed-off-by: Alexandre Bounine <alexandreb at tundra.com>
Signed-off-by: Roy Zang	<tie-fei.zang at freescale.com>

---

 arch/powerpc/kernel/traps.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

0575fbe21e4f1045528bb91ec4b34bb7955c4a92
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 064a525..7468d76 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -262,6 +262,19 @@ #if defined(CONFIG_PPC_PMAC) && defined(
 		}
 	}
 #endif /* CONFIG_PPC_PMAC && CONFIG_PPC32 */
+
+#ifdef CONFIG_TSI108_BRIDGE
+	extern void tsi108_clear_pci_cfg_error(void);
+	const struct exception_table_entry *entry;
+
+	/* Are we prepared to handle this fault?  */
+	if ((entry = search_exception_tables(regs->nip)) != NULL) {
+		tsi108_clear_pci_cfg_error();
+		regs->msr |= MSR_RI;
+		regs->nip = entry->fixup;
+		return 1;
+	}
+#endif /* CONFIG_TSI108_BRIDGE */
 	return 0;
 }
 
-- 
1.3.0



More information about the Linuxppc-dev mailing list