Release mutex locks on error conditions.
diff --git a/libril/ril.cpp b/libril/ril.cpp
index 31d5eb9..f6f09cd 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -1171,9 +1171,6 @@
         return -1;
     }
 
-
-    // FIXME is blocking here ok? issue #550970
-
     pthread_mutex_lock(&s_writeMutex);
 
     header = htonl(dataSize);
@@ -1181,12 +1178,14 @@
     ret = blockingWrite(fd, (void *)&header, sizeof(header));
 
     if (ret < 0) {
+        pthread_mutex_unlock(&s_writeMutex);
         return ret;
     }
 
     ret = blockingWrite(fd, data, dataSize);
 
     if (ret < 0) {
+        pthread_mutex_unlock(&s_writeMutex);
         return ret;
     }