Lines Matching refs:rrq
634 * @rrq: The RRQ to be cleared.
640 struct lpfc_node_rrq *rrq)
644 if ((rrq->vport) && NLP_CHK_NODE_ACT(rrq->ndlp))
645 ndlp = lpfc_findnode_did(rrq->vport, rrq->nlp_DID);
651 if ((!ndlp) && rrq->ndlp)
652 ndlp = rrq->ndlp;
658 rrq->send_rrq = 0;
659 rrq->xritag = 0;
660 rrq->rrq_stop_time = 0;
663 mempool_free(rrq, phba->rrq_pool);
671 * Checks if stop_time (ratov from setting rrq active) has
674 * then it will just call the routine to clear the rrq and
675 * free the rrq resource.
676 * The timer is set to the next rrq that is going to expire before
683 struct lpfc_node_rrq *rrq;
692 list_for_each_entry_safe(rrq, nextrrq,
694 if (time_after(jiffies, rrq->rrq_stop_time))
695 list_move(&rrq->list, &send_rrq);
696 else if (time_before(rrq->rrq_stop_time, next_time))
697 next_time = rrq->rrq_stop_time;
703 list_for_each_entry_safe(rrq, nextrrq, &send_rrq, list) {
704 list_del(&rrq->list);
705 if (!rrq->send_rrq)
706 /* this call will free the rrq */
707 lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
708 else if (lpfc_send_rrq(phba, rrq)) {
709 /* if we send the rrq then the completion handler
712 lpfc_clr_rrq_active(phba, rrq->xritag,
713 rrq);
724 * returns NULL = rrq not found in the phba->active_rrq_list.
725 * rrq = rrq for this xri and target.
731 struct lpfc_node_rrq *rrq;
738 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) {
739 if (rrq->vport == vport && rrq->xritag == xri &&
740 rrq->nlp_DID == did){
741 list_del(&rrq->list);
743 return rrq;
755 * phba->active_rrq_list and clear the rrq.
763 struct lpfc_node_rrq *rrq;
775 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list)
776 if ((rrq->vport == vport) && (!ndlp || rrq->ndlp == ndlp))
777 list_move(&rrq->list, &rrq_list);
780 list_for_each_entry_safe(rrq, nextrrq, &rrq_list, list) {
781 list_del(&rrq->list);
782 lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
793 * returns 0 = rrq not active for this xri
794 * 1 = rrq is valid for this xri.
816 * @send_rrq: Flag used to determine if we should send rrq els cmd.
819 * The active bit is always set in the active rrq xri_bitmap even
820 * if there is no slot avaiable for the other rrq information.
822 * returns 0 rrq actived for this xri
830 struct lpfc_node_rrq *rrq;
861 rrq = mempool_alloc(phba->rrq_pool, GFP_KERNEL);
862 if (!rrq) {
870 rrq->send_rrq = send_rrq;
872 rrq->send_rrq = 0;
873 rrq->xritag = xritag;
874 rrq->rrq_stop_time = jiffies +
876 rrq->ndlp = ndlp;
877 rrq->nlp_DID = ndlp->nlp_DID;
878 rrq->vport = ndlp->vport;
879 rrq->rxid = rxid;
882 list_add_tail(&rrq->list, &phba->active_rrq_list);
891 "2921 Can't set rrq active xri:0x%x rxid:0x%x"
934 /* This xri has an rrq outstanding for this DID.