[U-Boot] [PATCH 1/1] ppc4xx: fix UIC external_interrupt hang on UIC0
Victor Gallardo
vgallardo at amcc.com
Fri Aug 29 01:03:28 CEST 2008
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.
Signed-off-by: Victor Gallardo <vgallardo at amcc.com>
---
cpu/ppc4xx/uic.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpu/ppc4xx/uic.c b/cpu/ppc4xx/uic.c
index 7944c6c..a95d1cb 100644
--- a/cpu/ppc4xx/uic.c
+++ b/cpu/ppc4xx/uic.c
@@ -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;
}
--
1.5.5
More information about the U-Boot
mailing list