diff options
Diffstat (limited to 'fs/cifs/smb2misc.c')
| -rw-r--r-- | fs/cifs/smb2misc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c index 6a9c47541c53..7b8b58fb4d3f 100644 --- a/fs/cifs/smb2misc.c +++ b/fs/cifs/smb2misc.c | |||
| @@ -648,6 +648,13 @@ smb2_is_valid_oplock_break(char *buffer, struct TCP_Server_Info *server) | |||
| 648 | if (rsp->sync_hdr.Command != SMB2_OPLOCK_BREAK) | 648 | if (rsp->sync_hdr.Command != SMB2_OPLOCK_BREAK) |
| 649 | return false; | 649 | return false; |
| 650 | 650 | ||
| 651 | if (rsp->sync_hdr.CreditRequest) { | ||
| 652 | spin_lock(&server->req_lock); | ||
| 653 | server->credits += le16_to_cpu(rsp->sync_hdr.CreditRequest); | ||
| 654 | spin_unlock(&server->req_lock); | ||
| 655 | wake_up(&server->request_q); | ||
| 656 | } | ||
| 657 | |||
| 651 | if (rsp->StructureSize != | 658 | if (rsp->StructureSize != |
| 652 | smb2_rsp_struct_sizes[SMB2_OPLOCK_BREAK_HE]) { | 659 | smb2_rsp_struct_sizes[SMB2_OPLOCK_BREAK_HE]) { |
| 653 | if (le16_to_cpu(rsp->StructureSize) == 44) | 660 | if (le16_to_cpu(rsp->StructureSize) == 44) |
