Lines Matching refs:rrq

853  * @rrq: The RRQ to be cleared.
859 struct lpfc_node_rrq *rrq)
863 if ((rrq->vport) && NLP_CHK_NODE_ACT(rrq->ndlp))
864 ndlp = lpfc_findnode_did(rrq->vport, rrq->nlp_DID);
870 if ((!ndlp) && rrq->ndlp)
871 ndlp = rrq->ndlp;
877 rrq->send_rrq = 0;
878 rrq->xritag = 0;
879 rrq->rrq_stop_time = 0;
882 mempool_free(rrq, phba->rrq_pool);
890 * Checks if stop_time (ratov from setting rrq active) has
893 * then it will just call the routine to clear the rrq and
894 * free the rrq resource.
895 * The timer is set to the next rrq that is going to expire before
902 struct lpfc_node_rrq *rrq;
911 list_for_each_entry_safe(rrq, nextrrq,
913 if (time_after(jiffies, rrq->rrq_stop_time))
914 list_move(&rrq->list, &send_rrq);
915 else if (time_before(rrq->rrq_stop_time, next_time))
916 next_time = rrq->rrq_stop_time;
922 list_for_each_entry_safe(rrq, nextrrq, &send_rrq, list) {
923 list_del(&rrq->list);
924 if (!rrq->send_rrq) {
925 /* this call will free the rrq */
926 lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
927 } else if (lpfc_send_rrq(phba, rrq)) {
928 /* if we send the rrq then the completion handler
931 lpfc_clr_rrq_active(phba, rrq->xritag,
932 rrq);
943 * returns NULL = rrq not found in the phba->active_rrq_list.
944 * rrq = rrq for this xri and target.
950 struct lpfc_node_rrq *rrq;
957 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) {
958 if (rrq->vport == vport && rrq->xritag == xri &&
959 rrq->nlp_DID == did){
960 list_del(&rrq->list);
962 return rrq;
974 * phba->active_rrq_list and clear the rrq.
982 struct lpfc_node_rrq *rrq;
994 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list)
995 if ((rrq->vport == vport) && (!ndlp || rrq->ndlp == ndlp))
996 list_move(&rrq->list, &rrq_list);
999 list_for_each_entry_safe(rrq, nextrrq, &rrq_list, list) {
1000 list_del(&rrq->list);
1001 lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
1012 * 0 = rrq not active for this xri
1013 * 1 = rrq is valid for this xri.
1035 * @send_rrq: Flag used to determine if we should send rrq els cmd.
1038 * The active bit is always set in the active rrq xri_bitmap even
1039 * if there is no slot avaiable for the other rrq information.
1041 * returns 0 rrq actived for this xri
1049 struct lpfc_node_rrq *rrq;
1080 rrq = mempool_alloc(phba->rrq_pool, GFP_ATOMIC);
1081 if (!rrq) {
1089 rrq->send_rrq = send_rrq;
1091 rrq->send_rrq = 0;
1092 rrq->xritag = xritag;
1093 rrq->rrq_stop_time = jiffies +
1095 rrq->ndlp = ndlp;
1096 rrq->nlp_DID = ndlp->nlp_DID;
1097 rrq->vport = ndlp->vport;
1098 rrq->rxid = rxid;
1101 list_add_tail(&rrq->list, &phba->active_rrq_list);
1110 "2921 Can't set rrq active xri:0x%x rxid:0x%x"
1169 /* This xri has an rrq outstanding for this DID.