if (long_op == CIFS_ASYNC_OP) {
                /* oplock breaks must not be held up */
                atomic_inc(&ses->server->inFlight);
-       } else {
-               spin_lock(&GlobalMid_Lock);
-               while (1) {
-                       if (atomic_read(&ses->server->inFlight) >=
-                                       cifs_max_pending){
-                               spin_unlock(&GlobalMid_Lock);
+               return 0;
+       }
+
+       spin_lock(&GlobalMid_Lock);
+       while (1) {
+               if (atomic_read(&ses->server->inFlight) >=
+                               cifs_max_pending){
+                       spin_unlock(&GlobalMid_Lock);
 #ifdef CONFIG_CIFS_STATS2
-                               atomic_inc(&ses->server->num_waiters);
+                       atomic_inc(&ses->server->num_waiters);
 #endif
-                               wait_event(ses->server->request_q,
-                                       atomic_read(&ses->server->inFlight)
-                                        < cifs_max_pending);
+                       wait_event(ses->server->request_q,
+                                  atomic_read(&ses->server->inFlight)
+                                    < cifs_max_pending);
 #ifdef CONFIG_CIFS_STATS2
-                               atomic_dec(&ses->server->num_waiters);
+                       atomic_dec(&ses->server->num_waiters);
 #endif
-                               spin_lock(&GlobalMid_Lock);
-                       } else {
-                               if (ses->server->tcpStatus == CifsExiting) {
-                                       spin_unlock(&GlobalMid_Lock);
-                                       return -ENOENT;
-                               }
-
-                               /* can not count locking commands against total
-                                  as they are allowed to block on server */
-
-                               /* update # of requests on the wire to server */
-                               if (long_op != CIFS_BLOCKING_OP)
-                                       atomic_inc(&ses->server->inFlight);
+                       spin_lock(&GlobalMid_Lock);
+               } else {
+                       if (ses->server->tcpStatus == CifsExiting) {
                                spin_unlock(&GlobalMid_Lock);
-                               break;
+                               return -ENOENT;
                        }
+
+                       /* can not count locking commands against total
+                          as they are allowed to block on server */
+
+                       /* update # of requests on the wire to server */
+                       if (long_op != CIFS_BLOCKING_OP)
+                               atomic_inc(&ses->server->inFlight);
+                       spin_unlock(&GlobalMid_Lock);
+                       break;
                }
        }
        return 0;