Missing cache maintenance

Add missing cache invalidate before queue header is checked for
available messages.

Change-Id: Iba1238dddcf6b9771d17c9b9edab3f7594ee59af
diff --git a/applications/message_process/src/message_process.cpp b/applications/message_process/src/message_process.cpp
index 9795c25..84a3742 100644
--- a/applications/message_process/src/message_process.cpp
+++ b/applications/message_process/src/message_process.cpp
@@ -35,10 +35,14 @@
 }
 
 bool QueueImpl::empty() const {
+    invalidateHeaderData();
+
     return queue.header.read == queue.header.write;
 }
 
 size_t QueueImpl::available() const {
+    invalidateHeaderData();
+
     size_t avail = queue.header.write - queue.header.read;
 
     if (queue.header.read > queue.header.write) {
@@ -54,14 +58,14 @@
 
 bool QueueImpl::read(uint8_t *dst, uint32_t length) {
     const uint8_t *end = dst + length;
-    uint32_t rpos      = queue.header.read;
 
-    invalidateHeaderData();
-
+    // Available will invalidate the cache
     if (length > available()) {
         return false;
     }
 
+    uint32_t rpos = queue.header.read;
+
     while (dst < end) {
         *dst++ = queue.data[rpos];
         rpos   = (rpos + 1) % queue.header.size;