summaryrefslogtreecommitdiff
path: root/nuttx/arch
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch')
-rwxr-xr-xnuttx/arch/arm/src/lm3s/lm3s_ssi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lm3s/lm3s_ssi.c b/nuttx/arch/arm/src/lm3s/lm3s_ssi.c
index a880d2b23..4370a05fe 100755
--- a/nuttx/arch/arm/src/lm3s/lm3s_ssi.c
+++ b/nuttx/arch/arm/src/lm3s/lm3s_ssi.c
@@ -760,10 +760,16 @@ static inline struct lm32_ssidev_s *ssi_mapirq(int irq)
static int ssi_interrupt(int irq, void *context)
{
struct lm32_ssidev_s *priv = ssi_mapirq(irq);
+ uint32 regval;
int ntxd;
DEBUGASSERT(priv != NULL);
+ /* Clear pending interrupts */
+
+ regval = ssi_getreg(priv, LM3S_SSI_RIS_OFFSET);
+ ssi_putreg(priv, LM3S_SSI_ICR_OFFSET, regval);
+
/* Handle outgoing Tx FIFO transfers */
ntxd = ssi_performtx(priv);