summaryrefslogtreecommitdiff
path: root/nuttx/arch
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-06 14:12:50 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-06 14:12:50 +0000
commit2a86d0f5169f0122a75dd22ee932bae2e6adfecb (patch)
tree6a78f460659fc89dc3c02e0241b5fb2ae4cafe48 /nuttx/arch
parent020685deda03ea52b37d2effd6738cb8130385f5 (diff)
downloadpx4-nuttx-2a86d0f5169f0122a75dd22ee932bae2e6adfecb.tar.gz
px4-nuttx-2a86d0f5169f0122a75dd22ee932bae2e6adfecb.tar.bz2
px4-nuttx-2a86d0f5169f0122a75dd22ee932bae2e6adfecb.zip
Add logic to avoid spurious interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1857 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch')
-rw-r--r--nuttx/arch/arm/src/str71x/str71x_irq.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/str71x/str71x_irq.c b/nuttx/arch/arm/src/str71x/str71x_irq.c
index d3fcf57c9..6be5e945b 100644
--- a/nuttx/arch/arm/src/str71x/str71x_irq.c
+++ b/nuttx/arch/arm/src/str71x/str71x_irq.c
@@ -87,6 +87,14 @@ void up_irqinitialize(void)
putreg32(STR71X_EICICR_IRQEN, STR71X_EIC_ICR);
+ /* This shouldn't be necessary, but it appears that something is needed
+ * here to prevent spurious interrupts when the ARM interrupts are enabled
+ * (Needs more investigation).
+ */
+
+ putreg32(0, STR71X_EIC_IER); /* Make sure that all interrupts are disabled */
+ putreg32(0xffffffff, STR71X_EIC_IPR); /* And that no interrupts are pending */
+
/* Enable global ARM interrupts */
#ifndef CONFIG_SUPPRESS_INTERRUPTS