summaryrefslogtreecommitdiffstats
path: root/nuttx/arch/arm/src/lm3s/lm3s_ssi.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2009-05-23 14:30:07 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2009-05-23 14:30:07 +0000
commitb71839b75b3e4a873b956c94b903e4604c76f259 (patch)
tree0074bdd2e5ea7f94e2547480e85fe73c7ee0f83f /nuttx/arch/arm/src/lm3s/lm3s_ssi.c
parente18553405951901dc7f3d21f10fa3938df08523b (diff)
Need to clear interrupt
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1819 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/arch/arm/src/lm3s/lm3s_ssi.c')
-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 a880d2b239..4370a05fe7 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);