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