From bafa5b10318631e2e0584828a1d5bf7a2c3a6e49 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 25 Nov 2013 14:16:04 -0600 Subject: [PATCH] SAMA5 NAND: Trivial changes --- arch/arm/src/sama5/sam_nand.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/arm/src/sama5/sam_nand.c b/arch/arm/src/sama5/sam_nand.c index a1dd18f368c..8a5a73f5437 100644 --- a/arch/arm/src/sama5/sam_nand.c +++ b/arch/arm/src/sama5/sam_nand.c @@ -644,7 +644,7 @@ static void nand_wait_cmddone(struct sam_nandcs_s *priv) /* Wait for the CMDDONE interrupt to occur */ flags = irqsave(); - while (!g_nand.cmddone) + do { ret = sem_wait(&g_nand.waitsem); if (ret < 0) @@ -652,6 +652,7 @@ static void nand_wait_cmddone(struct sam_nandcs_s *priv) DEBUGASSERT(errno == EINTR); } } + while (!g_nand.cmddone); /* Disable further CMDDONE interrupts */ @@ -717,7 +718,7 @@ static void nand_wait_xfrdone(struct sam_nandcs_s *priv) /* Wait for the XFRDONE interrupt to occur */ flags = irqsave(); - while (!g_nand.xfrdone) + do { ret = sem_wait(&g_nand.waitsem); if (ret < 0) @@ -725,6 +726,7 @@ static void nand_wait_xfrdone(struct sam_nandcs_s *priv) DEBUGASSERT(errno == EINTR); } } + while (!g_nand.xfrdone); /* Disable further XFRDONE interrupts */ @@ -790,7 +792,7 @@ static void nand_wait_rbedge(struct sam_nandcs_s *priv) /* Wait for the RBEDGE interrupt to occur */ flags = irqsave(); - while (!g_nand.rbedge) + do { ret = sem_wait(&g_nand.waitsem); if (ret < 0) @@ -798,6 +800,7 @@ static void nand_wait_rbedge(struct sam_nandcs_s *priv) DEBUGASSERT(errno == EINTR); } } + while (!g_nand.rbedge); /* Disable further RBEDGE interrupts */