Slightly streamline SendReceive[2]
Volker Lendecke [Sat, 6 Dec 2008 15:22:15 +0000 (16:22 +0100)]
Slightly streamline SendReceive[2]

Remove an else branch by naming the error condition what it is

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>

fs/cifs/transport.c

index dc2d1b0..01b3aa5 100644 (file)
@@ -583,10 +583,8 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
        wait_for_response(ses, midQ, timeout, 10 * HZ);
 
        spin_lock(&GlobalMid_Lock);
-       if (midQ->resp_buf) {
-               spin_unlock(&GlobalMid_Lock);
-               receive_len = midQ->resp_buf->smb_buf_length;
-       } else {
+
+       if (midQ->resp_buf == NULL) {
                cERROR(1, ("No response to cmd %d mid %d",
                        midQ->command, midQ->mid));
                if (midQ->midState == MID_REQUEST_SUBMITTED) {
@@ -614,6 +612,9 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
                return rc;
        }
 
+       spin_unlock(&GlobalMid_Lock);
+       receive_len = midQ->resp_buf->smb_buf_length;
+
        if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) {
                cERROR(1, ("Frame too large received.  Length: %d  Xid: %d",
                        receive_len, xid));
@@ -773,10 +774,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses,
        wait_for_response(ses, midQ, timeout, 10 * HZ);
 
        spin_lock(&GlobalMid_Lock);
-       if (midQ->resp_buf) {
-               spin_unlock(&GlobalMid_Lock);
-               receive_len = midQ->resp_buf->smb_buf_length;
-       } else {
+       if (midQ->resp_buf == NULL) {
                cERROR(1, ("No response for cmd %d mid %d",
                          midQ->command, midQ->mid));
                if (midQ->midState == MID_REQUEST_SUBMITTED) {
@@ -804,6 +802,9 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses,
                return rc;
        }
 
+       spin_unlock(&GlobalMid_Lock);
+       receive_len = midQ->resp_buf->smb_buf_length;
+
        if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) {
                cERROR(1, ("Frame too large received.  Length: %d  Xid: %d",
                        receive_len, xid));