static int send_nt_cancel(struct cifsTconInfo *tcon, struct smb_hdr *in_buf, struct mid_q_entry *midQ) { int rc = 0; struct cifsSesInfo *ses = tcon->ses; __u16 mid = in_buf->Mid; header_assemble(in_buf, SMB_COM_NT_CANCEL, tcon, 0); in_buf->Mid = mid; mutex_lock(&ses->server->srv_mutex); rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); if (rc) { mutex_unlock(&ses->server->srv_mutex); return rc; } rc = smb_send(ses->server, in_buf, in_buf->smb_buf_length); mutex_unlock(&ses->server->srv_mutex); return rc; }
static int send_nt_cancel(struct cifsTconInfo *tcon, struct smb_hdr *in_buf, struct mid_q_entry *midQ) { int rc = 0; struct cifsSesInfo *ses = tcon->ses; __u16 mid = in_buf->Mid; header_assemble(in_buf, SMB_COM_NT_CANCEL, tcon, 0); in_buf->Mid = mid; down(&ses->server->tcpSem); rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); if (rc) { up(&ses->server->tcpSem); return rc; } rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, (struct sockaddr *) &(ses->server->addr.sockAddr)); up(&ses->server->tcpSem); return rc; }