diff --git a/libc/bionic/pthread_mutex.cpp b/libc/bionic/pthread_mutex.cpp
index 1010f11..8eaf95f 100644
--- a/libc/bionic/pthread_mutex.cpp
+++ b/libc/bionic/pthread_mutex.cpp
@@ -282,21 +282,16 @@
     return 0;
 }
 
-int pthread_mutex_init(pthread_mutex_t *mutex,
-                       const pthread_mutexattr_t *attr)
-{
-    int value = 0;
-
-    if (mutex == NULL)
-        return EINVAL;
-
+int pthread_mutex_init(pthread_mutex_t* mutex, const pthread_mutexattr_t* attr) {
     if (__predict_true(attr == NULL)) {
         mutex->value = MUTEX_TYPE_BITS_NORMAL;
         return 0;
     }
 
-    if ((*attr & MUTEXATTR_SHARED_MASK) != 0)
+    int value = 0;
+    if ((*attr & MUTEXATTR_SHARED_MASK) != 0) {
         value |= MUTEX_SHARED_MASK;
+    }
 
     switch (*attr & MUTEXATTR_TYPE_MASK) {
     case PTHREAD_MUTEX_NORMAL:
@@ -473,9 +468,6 @@
 {
     int mvalue, mtype, tid, shared;
 
-    if (__predict_false(mutex == NULL))
-        return EINVAL;
-
     mvalue = mutex->value;
     mtype = (mvalue & MUTEX_TYPE_MASK);
     shared = (mvalue & MUTEX_SHARED_MASK);
@@ -565,9 +557,6 @@
 {
     int mvalue, mtype, tid, shared;
 
-    if (__predict_false(mutex == NULL))
-        return EINVAL;
-
     mvalue = mutex->value;
     mtype  = (mvalue & MUTEX_TYPE_MASK);
     shared = (mvalue & MUTEX_SHARED_MASK);
@@ -630,9 +619,6 @@
 {
     int mvalue, mtype, tid, shared;
 
-    if (__predict_false(mutex == NULL))
-        return EINVAL;
-
     mvalue = mutex->value;
     mtype  = (mvalue & MUTEX_TYPE_MASK);
     shared = (mvalue & MUTEX_SHARED_MASK);
@@ -705,9 +691,6 @@
     /* compute absolute expiration time */
     __timespec_to_relative_msec(&abstime, msecs, clock);
 
-    if (__predict_false(mutex == NULL))
-        return EINVAL;
-
     mvalue = mutex->value;
     mtype  = (mvalue & MUTEX_TYPE_MASK);
     shared = (mvalue & MUTEX_SHARED_MASK);
