Skip to contentSkip to conversation

ppc4xx: fix UIC external_interrupt hang on UIC0

PATCH New Victor Gallardo 2 participants 2 messages Aug 28, 2008 – Aug 29, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ppc4xx: fix UIC external_interrupt hang on UIC0

This patch fixes a UIC external_interrupt hang if critical or non-critical interrupt is set at the same time as a normal interrupt is set on UIC0.

---
 cpu/ppc4xx/uic.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
cpu/ppc4xx/uic.c +2 -2
index 7944c6c..a95d1cb 100644
@@ -129,11 +129,11 @@ void external_interrupt(struct pt_regs *regs)
 		uic_interrupt(UIC3_DCR_BASE, 96);
 #endif
 
+	mtdcr(uic0sr, (uic_msr & UICB0_ALL));
+
 	if (uic_msr & ~(UICB0_ALL))
 		uic_interrupt(UIC0_DCR_BASE, 0);
 
-	mtdcr(uic0sr, uic_msr);
-
 	return;
 }
 
Signature · 1 line
1.5.5
#1 lore raw

PATCH 1/1 ppc4xx: fix UIC external_interrupt hang on UIC0

Quoted 2 lines · Victor Gallardo

This patch fixes a UIC external_interrupt hang if critical or non-critical interrupt is set at the same time as a normal interrupt is set on UIC0.

Applied to u-boot-ppc4xx. Thanks.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================