summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-09-24 13:47:03 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-09-24 13:47:03 -0600
commitf491d7d241f08ba9629391d10a6f55aef521d206 (patch)
treeed9c4717b030859746198358ae51c22c7441305f
parentc88c7d7bbe980cc4ef66567b842c573d3681549d (diff)
downloadnuttx-f491d7d241f08ba9629391d10a6f55aef521d206.tar.gz
nuttx-f491d7d241f08ba9629391d10a6f55aef521d206.tar.bz2
nuttx-f491d7d241f08ba9629391d10a6f55aef521d206.zip
Slightly improved debug output
-rw-r--r--nuttx/arch/arm/src/armv7-a/arm_assert.c14
-rw-r--r--nuttx/arch/arm/src/sama5/sam_udphs.c8
2 files changed, 17 insertions, 5 deletions
diff --git a/nuttx/arch/arm/src/armv7-a/arm_assert.c b/nuttx/arch/arm/src/armv7-a/arm_assert.c
index b5f959016..eab0e3252 100644
--- a/nuttx/arch/arm/src/armv7-a/arm_assert.c
+++ b/nuttx/arch/arm/src/armv7-a/arm_assert.c
@@ -200,6 +200,13 @@ static void up_dumpstate(void)
* stack?
*/
+ if (sp > istackbase || sp <= istackbase - istacksize)
+ {
+ if (up_interrupt_context())
+ {
+ lldbg("ERROR: Stack pointer is not within interrupt stack\n");
+ }
+ }
if (sp <= istackbase && sp > istackbase - istacksize)
{
/* Yes.. dump the interrupt stack */
@@ -231,9 +238,12 @@ static void up_dumpstate(void)
if (sp > ustackbase || sp <= ustackbase - ustacksize)
{
-#if !defined(CONFIG_ARCH_INTERRUPTSTACK) || CONFIG_ARCH_INTERRUPTSTACK < 4
- lldbg("ERROR: Stack pointer is not within allocated stack\n");
+#if defined(CONFIG_ARCH_INTERRUPTSTACK) && CONFIG_ARCH_INTERRUPTSTACK > 3
+ if (!up_interrupt_context())
#endif
+ {
+ lldbg("ERROR: Stack pointer is not within allocated stack\n");
+ }
}
else
{
diff --git a/nuttx/arch/arm/src/sama5/sam_udphs.c b/nuttx/arch/arm/src/sama5/sam_udphs.c
index 16a214168..501f3cbc9 100644
--- a/nuttx/arch/arm/src/sama5/sam_udphs.c
+++ b/nuttx/arch/arm/src/sama5/sam_udphs.c
@@ -956,7 +956,8 @@ static void sam_dma_wrsetup(struct sam_usbdev_s *priv, struct sam_ep_s *privep,
/* How many bytes remain to be transferred in the request? */
- remaining = privreq->req.len - privreq->req.xfrd;
+ remaining = (int)privreq->req.len - (int)privreq->req.xfrd;
+ DEBUGASSERT(remaining >= 0 && remaining <= (int)privreq->req.len);
/* If there are no bytes to send, then send a zero length packet */
@@ -1020,8 +1021,9 @@ static void sam_dma_rdsetup(struct sam_usbdev_s *priv,
/* How many more bytes can we append to the request buffer? */
- remaining = privreq->req.len - privreq->req.xfrd;
- DEBUGASSERT(remaining > 0 && privep->epstate == UDPHS_EPSTATE_RECEIVING);
+ remaining = (int)privreq->req.len - (int)privreq->req.xfrd;
+ DEBUGASSERT(remaining > 0 && remaining <= (int)privreq->req.len &&
+ privep->epstate == UDPHS_EPSTATE_RECEIVING);
/* Clip the DMA transfer size to the size available in the user buffer */