diff options
-rw-r--r-- | os/rt/ports/ARMCMx/chcore_v7m.h | 6 | ||||
-rw-r--r-- | os/rt/src/chschd.c | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/os/rt/ports/ARMCMx/chcore_v7m.h b/os/rt/ports/ARMCMx/chcore_v7m.h index 3d72723fb..58f806784 100644 --- a/os/rt/ports/ARMCMx/chcore_v7m.h +++ b/os/rt/ports/ARMCMx/chcore_v7m.h @@ -282,12 +282,16 @@ struct port_intctx { * by an @p port_intctx structure.
*/
#define PORT_SETUP_CONTEXT(tp, workspace, wsize, pf, arg) { \
+ /*lint -save -e9016 -e9087 [18.4, 11.3] Normal pointers arithmetic.*/ \
(tp)->p_ctx.r13 = (struct port_intctx *)((uint8_t *)(workspace) + \
- (wsize) - \
+ (size_t)(wsize) - \
sizeof(struct port_intctx)); \
+ /*lint -restore*/ \
+ /*lint -save -e9074 -e9087 [11.1, 11.3] Casts are planned here.*/ \
(tp)->p_ctx.r13->r4 = (regarm_t)(pf); \
(tp)->p_ctx.r13->r5 = (regarm_t)(arg); \
(tp)->p_ctx.r13->lr = (regarm_t)(_port_thread_start); \
+ /*lint -restore*/ \
}
/**
diff --git a/os/rt/src/chschd.c b/os/rt/src/chschd.c index bcafb26b5..3de92aec8 100644 --- a/os/rt/src/chschd.c +++ b/os/rt/src/chschd.c @@ -304,6 +304,7 @@ static void wakeup(void *p) { (void) queue_dequeue(tp);
break;
default:
+ /* Any other state, nothing to do.*/
break;
}
tp->p_u.rdymsg = MSG_TIMEOUT;
|