Lines Matching refs:ses
460 static int allocate_mid(struct cifs_ses *ses, struct smb_hdr *in_buf, in allocate_mid() argument
463 if (ses->server->tcpStatus == CifsExiting) { in allocate_mid()
467 if (ses->server->tcpStatus == CifsNeedReconnect) { in allocate_mid()
472 if (ses->status == CifsNew) { in allocate_mid()
479 if (ses->status == CifsExiting) { in allocate_mid()
486 *ppmidQ = AllocMidQEntry(in_buf, ses->server); in allocate_mid()
490 list_add_tail(&(*ppmidQ)->qhead, &ses->server->pending_mid_q); in allocate_mid()
603 SendReceiveNoRsp(const unsigned int xid, struct cifs_ses *ses, in SendReceiveNoRsp() argument
613 rc = SendReceive2(xid, ses, iov, 1, &resp_buf_type, flags); in SendReceiveNoRsp()
690 cifs_setup_request(struct cifs_ses *ses, struct smb_rqst *rqst) in cifs_setup_request() argument
696 rc = allocate_mid(ses, hdr, &mid); in cifs_setup_request()
699 rc = cifs_sign_rqst(rqst, ses->server, &mid->sequence_number); in cifs_setup_request()
708 SendReceive2(const unsigned int xid, struct cifs_ses *ses, in SendReceive2() argument
725 if ((ses == NULL) || (ses->server == NULL)) { in SendReceive2()
731 if (ses->server->tcpStatus == CifsExiting) { in SendReceive2()
742 rc = wait_for_free_request(ses->server, timeout, optype); in SendReceive2()
754 mutex_lock(&ses->server->srv_mutex); in SendReceive2()
756 midQ = ses->server->ops->setup_request(ses, &rqst); in SendReceive2()
758 mutex_unlock(&ses->server->srv_mutex); in SendReceive2()
761 add_credits(ses->server, 1, optype); in SendReceive2()
766 cifs_in_send_inc(ses->server); in SendReceive2()
767 rc = smb_sendv(ses->server, iov, n_vec); in SendReceive2()
768 cifs_in_send_dec(ses->server); in SendReceive2()
772 ses->server->sequence_number -= 2; in SendReceive2()
773 mutex_unlock(&ses->server->srv_mutex); in SendReceive2()
785 rc = wait_for_response(ses->server, midQ); in SendReceive2()
787 send_cancel(ses->server, buf, midQ); in SendReceive2()
793 add_credits(ses->server, 1, optype); in SendReceive2()
801 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceive2()
803 add_credits(ses->server, 1, optype); in SendReceive2()
821 credits = ses->server->ops->get_credits(midQ); in SendReceive2()
823 rc = ses->server->ops->check_receive(midQ, ses->server, in SendReceive2()
831 add_credits(ses->server, credits, optype); in SendReceive2()
837 SendReceive(const unsigned int xid, struct cifs_ses *ses, in SendReceive() argument
844 if (ses == NULL) { in SendReceive()
848 if (ses->server == NULL) { in SendReceive()
853 if (ses->server->tcpStatus == CifsExiting) in SendReceive()
867 rc = wait_for_free_request(ses->server, timeout, 0); in SendReceive()
875 mutex_lock(&ses->server->srv_mutex); in SendReceive()
877 rc = allocate_mid(ses, in_buf, &midQ); in SendReceive()
879 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
881 add_credits(ses->server, 1, 0); in SendReceive()
885 rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); in SendReceive()
887 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
893 cifs_in_send_inc(ses->server); in SendReceive()
894 rc = smb_send(ses->server, in_buf, be32_to_cpu(in_buf->smb_buf_length)); in SendReceive()
895 cifs_in_send_dec(ses->server); in SendReceive()
899 ses->server->sequence_number -= 2; in SendReceive()
901 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
909 rc = wait_for_response(ses->server, midQ); in SendReceive()
911 send_cancel(ses->server, in_buf, midQ); in SendReceive()
917 add_credits(ses->server, 1, 0); in SendReceive()
923 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceive()
925 add_credits(ses->server, 1, 0); in SendReceive()
938 rc = cifs_check_receive(midQ, ses->server, 0); in SendReceive()
941 add_credits(ses->server, 1, 0); in SendReceive()
955 struct cifs_ses *ses = tcon->ses; in send_lock_cancel() local
965 pSMB->hdr.Mid = get_next_mid(ses->server); in send_lock_cancel()
967 return SendReceive(xid, ses, in_buf, out_buf, in send_lock_cancel()
979 struct cifs_ses *ses; in SendReceiveBlockingLock() local
981 if (tcon == NULL || tcon->ses == NULL) { in SendReceiveBlockingLock()
985 ses = tcon->ses; in SendReceiveBlockingLock()
987 if (ses->server == NULL) { in SendReceiveBlockingLock()
992 if (ses->server->tcpStatus == CifsExiting) in SendReceiveBlockingLock()
1006 rc = wait_for_free_request(ses->server, CIFS_BLOCKING_OP, 0); in SendReceiveBlockingLock()
1014 mutex_lock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1016 rc = allocate_mid(ses, in_buf, &midQ); in SendReceiveBlockingLock()
1018 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1022 rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); in SendReceiveBlockingLock()
1025 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1030 cifs_in_send_inc(ses->server); in SendReceiveBlockingLock()
1031 rc = smb_send(ses->server, in_buf, be32_to_cpu(in_buf->smb_buf_length)); in SendReceiveBlockingLock()
1032 cifs_in_send_dec(ses->server); in SendReceiveBlockingLock()
1036 ses->server->sequence_number -= 2; in SendReceiveBlockingLock()
1038 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1046 rc = wait_event_interruptible(ses->server->response_q, in SendReceiveBlockingLock()
1048 ((ses->server->tcpStatus != CifsGood) && in SendReceiveBlockingLock()
1049 (ses->server->tcpStatus != CifsNew))); in SendReceiveBlockingLock()
1054 ((ses->server->tcpStatus == CifsGood) || in SendReceiveBlockingLock()
1055 (ses->server->tcpStatus == CifsNew))) { in SendReceiveBlockingLock()
1060 rc = send_cancel(ses->server, in_buf, midQ); in SendReceiveBlockingLock()
1079 rc = wait_for_response(ses->server, midQ); in SendReceiveBlockingLock()
1081 send_cancel(ses->server, in_buf, midQ); in SendReceiveBlockingLock()
1096 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceiveBlockingLock()
1109 rc = cifs_check_receive(midQ, ses->server, 0); in SendReceiveBlockingLock()