int resp_buf_type;
        unsigned int count;
        int flags = CIFS_NO_RESP;
+       unsigned int total_len;
 
        cifs_dbg(FYI, "smb2_lockv num lock %d\n", num_lock);
 
-       rc = small_smb2_init(SMB2_LOCK, tcon, (void **) &req);
+       rc = smb2_plain_req_init(SMB2_LOCK, tcon, (void **) &req, &total_len);
        if (rc)
                return rc;
 
        if (encryption_required(tcon))
                flags |= CIFS_TRANSFORM_REQ;
 
-       req->hdr.sync_hdr.ProcessId = cpu_to_le32(pid);
+       req->sync_hdr.ProcessId = cpu_to_le32(pid);
        req->LockCount = cpu_to_le16(num_lock);
 
        req->PersistentFileId = persist_fid;
        req->VolatileFileId = volatile_fid;
 
        count = num_lock * sizeof(struct smb2_lock_element);
-       inc_rfc1001_len(req, count - sizeof(struct smb2_lock_element));
 
        iov[0].iov_base = (char *)req;
-       /* 4 for rfc1002 length field and count for all locks */
-       iov[0].iov_len = get_rfc1002_length(req) + 4 - count;
+       iov[0].iov_len = total_len - sizeof(struct smb2_lock_element);
        iov[1].iov_base = (char *)buf;
        iov[1].iov_len = count;
 
        cifs_stats_inc(&tcon->stats.cifs_stats.num_locks);
-       rc = SendReceive2(xid, tcon->ses, iov, 2, &resp_buf_type, flags,
-                         &rsp_iov);
+       rc = smb2_send_recv(xid, tcon->ses, iov, 2, &resp_buf_type, flags,
+                           &rsp_iov);
        cifs_small_buf_release(req);
        if (rc) {
                cifs_dbg(FYI, "Send error in smb2_lockv = %d\n", rc);