Lines Matching defs:pla

786 	struct qlt_plogi_ack_t *pla;
790 list_for_each_entry(pla, &vha->plogi_ack_list, list) {
791 if (pla->id.b24 == id->b24) {
795 pla->iocb.u.isp24.port_name);
796 qlt_send_term_imm_notif(vha, &pla->iocb, 1);
797 memcpy(&pla->iocb, iocb, sizeof(pla->iocb));
798 return pla;
802 pla = kmem_cache_zalloc(qla_tgt_plogi_cachep, GFP_ATOMIC);
803 if (!pla) {
810 memcpy(&pla->iocb, iocb, sizeof(pla->iocb));
811 pla->id = *id;
812 list_add_tail(&pla->list, &vha->plogi_ack_list);
814 return pla;
818 struct qlt_plogi_ack_t *pla)
820 struct imm_ntfy_from_isp *iocb = &pla->iocb;
823 fc_port_t *fcport = pla->fcport;
825 BUG_ON(!pla->ref_count);
826 pla->ref_count--;
828 if (pla->ref_count)
854 if (fcport->plogi_link[QLT_PLOGI_LINK_SAME_WWN] == pla)
856 if (fcport->plogi_link[QLT_PLOGI_LINK_CONFLICT] == pla)
860 list_del(&pla->list);
861 kmem_cache_free(qla_tgt_plogi_cachep, pla);
865 qlt_plogi_ack_link(struct scsi_qla_host *vha, struct qlt_plogi_ack_t *pla,
868 struct imm_ntfy_from_isp *iocb = &pla->iocb;
869 /* Inc ref_count first because link might already be pointing at pla */
870 pla->ref_count++;
874 " s_id %02x:%02x:%02x, ref=%d pla %p link %d\n",
878 pla->ref_count, pla, link);
884 pla->ref_count--;
895 pla->fcport = sess;
897 sess->plogi_link[link] = pla;
4689 struct qlt_plogi_ack_t *pla;
4724 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb);
4725 if (!pla) {
4736 qlt_plogi_ack_link(vha, pla, conflict_sess,
4741 pla->ref_count++;
4749 pla, 0);
4753 pla, 0);
4778 list_del(&pla->list);
4779 kmem_cache_free(qla_tgt_plogi_cachep, pla);
4786 qlt_plogi_ack_link(vha, pla, sess, QLT_PLOGI_LINK_SAME_WWN);
4817 qlt_plogi_ack_unref(vha, pla);