Lines Matching refs:rrq
978 * @rrq: The RRQ to be cleared.
984 struct lpfc_node_rrq *rrq)
989 if (rrq->vport)
990 ndlp = lpfc_findnode_did(rrq->vport, rrq->nlp_DID);
996 rrq->send_rrq = 0;
997 rrq->xritag = 0;
998 rrq->rrq_stop_time = 0;
1001 mempool_free(rrq, phba->rrq_pool);
1009 * Checks if stop_time (ratov from setting rrq active) has
1012 * then it will just call the routine to clear the rrq and
1013 * free the rrq resource.
1014 * The timer is set to the next rrq that is going to expire before
1021 struct lpfc_node_rrq *rrq;
1030 list_for_each_entry_safe(rrq, nextrrq,
1032 if (time_after(jiffies, rrq->rrq_stop_time))
1033 list_move(&rrq->list, &send_rrq);
1034 else if (time_before(rrq->rrq_stop_time, next_time))
1035 next_time = rrq->rrq_stop_time;
1041 list_for_each_entry_safe(rrq, nextrrq, &send_rrq, list) {
1042 list_del(&rrq->list);
1043 if (!rrq->send_rrq) {
1044 /* this call will free the rrq */
1045 lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
1046 } else if (lpfc_send_rrq(phba, rrq)) {
1047 /* if we send the rrq then the completion handler
1050 lpfc_clr_rrq_active(phba, rrq->xritag,
1051 rrq);
1062 * returns NULL = rrq not found in the phba->active_rrq_list.
1063 * rrq = rrq for this xri and target.
1069 struct lpfc_node_rrq *rrq;
1076 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) {
1077 if (rrq->vport == vport && rrq->xritag == xri &&
1078 rrq->nlp_DID == did){
1079 list_del(&rrq->list);
1081 return rrq;
1093 * phba->active_rrq_list and clear the rrq.
1101 struct lpfc_node_rrq *rrq;
1113 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) {
1114 if (rrq->vport != vport)
1117 if (!ndlp || ndlp == lpfc_findnode_did(vport, rrq->nlp_DID))
1118 list_move(&rrq->list, &rrq_list);
1123 list_for_each_entry_safe(rrq, nextrrq, &rrq_list, list) {
1124 list_del(&rrq->list);
1125 lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
1136 * 0 = rrq not active for this xri
1137 * 1 = rrq is valid for this xri.
1159 * @send_rrq: Flag used to determine if we should send rrq els cmd.
1162 * The active bit is always set in the active rrq xri_bitmap even
1163 * if there is no slot avaiable for the other rrq information.
1165 * returns 0 rrq actived for this xri
1173 struct lpfc_node_rrq *rrq;
1198 rrq = mempool_alloc(phba->rrq_pool, GFP_ATOMIC);
1199 if (!rrq) {
1207 rrq->send_rrq = send_rrq;
1209 rrq->send_rrq = 0;
1210 rrq->xritag = xritag;
1211 rrq->rrq_stop_time = jiffies +
1213 rrq->nlp_DID = ndlp->nlp_DID;
1214 rrq->vport = ndlp->vport;
1215 rrq->rxid = rxid;
1218 list_add_tail(&rrq->list, &phba->active_rrq_list);
1227 "2921 Can't set rrq active xri:0x%x rxid:0x%x"
1281 /* This xri has an rrq outstanding for this DID.