diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2018-07-20 00:11:52 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-07-20 00:11:52 +0300 |
commit | 73ab603f44149ff48889d5109ea9ab64bf38cc69 (patch) | |
tree | 9550d8fb31ddf6dffedf1f602ed44769e529c1d3 /fs/cifs/connect.c | |
parent | 41afb1dfad4d6af0c716746f6a15f3230482955c (diff) | |
parent | fb7d1bcf1602b46f37ada72178516c01a250e434 (diff) | |
download | linux-73ab603f44149ff48889d5109ea9ab64bf38cc69.tar.xz |
Merge branch 'linus' into x86/timers
Pick up upstream changes to avoid conflicts
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index a57da1b88bdf..5df2c0698cda 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -924,6 +924,7 @@ next_pdu: server->pdu_size = next_offset; } + mid_entry = NULL; if (server->ops->is_transform_hdr && server->ops->receive_transform && server->ops->is_transform_hdr(buf)) { @@ -938,8 +939,11 @@ next_pdu: length = mid_entry->receive(server, mid_entry); } - if (length < 0) + if (length < 0) { + if (mid_entry) + cifs_mid_q_entry_release(mid_entry); continue; + } if (server->large_buf) buf = server->bigbuf; @@ -956,6 +960,8 @@ next_pdu: if (!mid_entry->multiRsp || mid_entry->multiEnd) mid_entry->callback(mid_entry); + + cifs_mid_q_entry_release(mid_entry); } else if (server->ops->is_oplock_break && server->ops->is_oplock_break(buf, server)) { cifs_dbg(FYI, "Received oplock break\n"); |