From a2f3a68b9acb707fe810cd4090b4c7dfcab84518 Mon Sep 17 00:00:00 2001 From: Ramsey Harris Date: Thu, 15 Jan 2015 14:52:01 -0800 Subject: [PATCH] SDOCM00114518 MessageQ_setMsgPri overwrites entire flags field The macro was simply assigning the new message priority to the flags field in the message header. Fixed macro to read, clear, then update only the priority bits of the flags field ([1:0]). --- packages/ti/ipc/MessageQ.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/ti/ipc/MessageQ.h b/packages/ti/ipc/MessageQ.h index 0ab7de5..feb0d98 100644 --- a/packages/ti/ipc/MessageQ.h +++ b/packages/ti/ipc/MessageQ.h @@ -398,7 +398,9 @@ extern "C" { * @param[in] priority Priority of message to be set. */ #define MessageQ_setMsgPri(msg, priority) \ - (((MessageQ_Msg) (msg))->flags = ((priority) & MessageQ_PRIORITYMASK)) + ((MessageQ_Msg)(msg))->flags = \ + (((MessageQ_Msg)(msg))->flags & ~(MessageQ_PRIORITYMASK)) \ + | ((priority) & MessageQ_PRIORITYMASK) /*! * @brief Set the transport Id for the given message -- 2.39.2