Lines Matching refs:rrq

640 		    struct lpfc_node_rrq *rrq)  in lpfc_clr_rrq_active()  argument
644 if ((rrq->vport) && NLP_CHK_NODE_ACT(rrq->ndlp)) in lpfc_clr_rrq_active()
645 ndlp = lpfc_findnode_did(rrq->vport, rrq->nlp_DID); in lpfc_clr_rrq_active()
651 if ((!ndlp) && rrq->ndlp) in lpfc_clr_rrq_active()
652 ndlp = rrq->ndlp; in lpfc_clr_rrq_active()
658 rrq->send_rrq = 0; in lpfc_clr_rrq_active()
659 rrq->xritag = 0; in lpfc_clr_rrq_active()
660 rrq->rrq_stop_time = 0; in lpfc_clr_rrq_active()
663 mempool_free(rrq, phba->rrq_pool); in lpfc_clr_rrq_active()
683 struct lpfc_node_rrq *rrq; in lpfc_handle_rrq_active() local
692 list_for_each_entry_safe(rrq, nextrrq, in lpfc_handle_rrq_active()
694 if (time_after(jiffies, rrq->rrq_stop_time)) in lpfc_handle_rrq_active()
695 list_move(&rrq->list, &send_rrq); in lpfc_handle_rrq_active()
696 else if (time_before(rrq->rrq_stop_time, next_time)) in lpfc_handle_rrq_active()
697 next_time = rrq->rrq_stop_time; in lpfc_handle_rrq_active()
703 list_for_each_entry_safe(rrq, nextrrq, &send_rrq, list) { in lpfc_handle_rrq_active()
704 list_del(&rrq->list); in lpfc_handle_rrq_active()
705 if (!rrq->send_rrq) in lpfc_handle_rrq_active()
707 lpfc_clr_rrq_active(phba, rrq->xritag, rrq); in lpfc_handle_rrq_active()
708 else if (lpfc_send_rrq(phba, rrq)) { in lpfc_handle_rrq_active()
712 lpfc_clr_rrq_active(phba, rrq->xritag, in lpfc_handle_rrq_active()
713 rrq); in lpfc_handle_rrq_active()
731 struct lpfc_node_rrq *rrq; in lpfc_get_active_rrq() local
738 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) { in lpfc_get_active_rrq()
739 if (rrq->vport == vport && rrq->xritag == xri && in lpfc_get_active_rrq()
740 rrq->nlp_DID == did){ in lpfc_get_active_rrq()
741 list_del(&rrq->list); in lpfc_get_active_rrq()
743 return rrq; in lpfc_get_active_rrq()
763 struct lpfc_node_rrq *rrq; in lpfc_cleanup_vports_rrqs() local
775 list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) in lpfc_cleanup_vports_rrqs()
776 if ((rrq->vport == vport) && (!ndlp || rrq->ndlp == ndlp)) in lpfc_cleanup_vports_rrqs()
777 list_move(&rrq->list, &rrq_list); in lpfc_cleanup_vports_rrqs()
780 list_for_each_entry_safe(rrq, nextrrq, &rrq_list, list) { in lpfc_cleanup_vports_rrqs()
781 list_del(&rrq->list); in lpfc_cleanup_vports_rrqs()
782 lpfc_clr_rrq_active(phba, rrq->xritag, rrq); in lpfc_cleanup_vports_rrqs()
830 struct lpfc_node_rrq *rrq; in lpfc_set_rrq_active() local
861 rrq = mempool_alloc(phba->rrq_pool, GFP_KERNEL); in lpfc_set_rrq_active()
862 if (!rrq) { in lpfc_set_rrq_active()
870 rrq->send_rrq = send_rrq; in lpfc_set_rrq_active()
872 rrq->send_rrq = 0; in lpfc_set_rrq_active()
873 rrq->xritag = xritag; in lpfc_set_rrq_active()
874 rrq->rrq_stop_time = jiffies + in lpfc_set_rrq_active()
876 rrq->ndlp = ndlp; in lpfc_set_rrq_active()
877 rrq->nlp_DID = ndlp->nlp_DID; in lpfc_set_rrq_active()
878 rrq->vport = ndlp->vport; in lpfc_set_rrq_active()
879 rrq->rxid = rxid; in lpfc_set_rrq_active()
882 list_add_tail(&rrq->list, &phba->active_rrq_list); in lpfc_set_rrq_active()