[PATCH] cifs: fix credit computation for compounded commands

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We need to call wait_for_free_credits() for each of the PDUs in the
compound chain.

Signed-off-by: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>
---
 fs/cifs/transport.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index 83ff0c25710d..44535ae31fa5 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -815,9 +815,11 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
 	 * to the same server. We may make this configurable later or
 	 * use ses->maxReq.
 	 */
-	rc = wait_for_free_request(ses->server, timeout, optype);
-	if (rc)
-		return rc;
+	for (i = 0; i < num_rqst; i++) {
+		rc = wait_for_free_request(ses->server, timeout, optype);
+		if (rc)
+			return rc;
+	}
 
 	/*
 	 * Make sure that we sign in the same order that we send on this socket
-- 
2.13.6




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux