Prevent message overrun in LocklessCommandFifo.

The previous logic in makeSpace and makeSpaceNonBlocking
was incorrect (probably a typo).  We shouldn't loop if
looping will overwrite unread messages, or if we would
make the buffer appear empty (mPut == mGet).

Change-Id: Iabc82ca94a585a7041069db97cbed7709f2d388f
diff --git a/rsLocklessFifo.cpp b/rsLocklessFifo.cpp
index e87525e..804c767 100644
--- a/rsLocklessFifo.cpp
+++ b/rsLocklessFifo.cpp
@@ -166,7 +166,7 @@
     //dumpState("make space non-blocking");
     if ((mPut+bytes) > mEnd) {
         // Need to loop regardless of where get is.
-        if ((mGet > mPut) && (mBuffer+4 >= mGet)) {
+        if ((mGet > mPut) || (mBuffer+4 >= mGet)) {
             return false;
         }
 
@@ -189,7 +189,7 @@
     //dumpState("make space");
     if ((mPut+bytes) > mEnd) {
         // Need to loop regardless of where get is.
-        while ((mGet > mPut) && (mBuffer+4 >= mGet)) {
+        while ((mGet > mPut) || (mBuffer+4 >= mGet)) {
             usleep(100);
         }
 
@@ -210,4 +210,3 @@
 void LocklessCommandFifo::dumpState(const char *s) const {
     LOGV("%s %p  put %p, get %p,  buf %p,  end %p", s, this, mPut, mGet, mBuffer, mEnd);
 }
-