Lines Matching refs:lport
66 struct fc_lport *lport; in fc_disc_stop_rports() local
69 lport = fc_disc_lport(disc); in fc_disc_stop_rports()
73 lport->tt.rport_logoff(rdata); in fc_disc_stop_rports()
87 struct fc_lport *lport; in fc_disc_recv_rscn_req() local
98 lport = fc_disc_lport(disc); in fc_disc_recv_rscn_req()
140 dp->lp = lport; in fc_disc_recv_rscn_req()
153 lport->tt.seq_els_rsp_send(fp, ELS_LS_ACC, NULL); in fc_disc_recv_rscn_req()
164 redisc = fc_disc_single(lport, dp); in fc_disc_recv_rscn_req()
173 redisc, lport->state, disc->pending); in fc_disc_recv_rscn_req()
181 lport->tt.seq_els_rsp_send(fp, ELS_LS_RJT, &rjt_data); in fc_disc_recv_rscn_req()
194 static void fc_disc_recv_req(struct fc_lport *lport, struct fc_frame *fp) in fc_disc_recv_req() argument
197 struct fc_disc *disc = &lport->disc; in fc_disc_recv_req()
249 struct fc_lport *lport) in fc_disc_start() argument
251 struct fc_disc *disc = &lport->disc; in fc_disc_start()
275 struct fc_lport *lport = fc_disc_lport(disc); in fc_disc_done() local
296 lport->tt.rport_login(rdata); in fc_disc_done()
298 lport->tt.rport_logoff(rdata); in fc_disc_done()
302 disc->disc_callback(lport, event); in fc_disc_done()
313 struct fc_lport *lport = fc_disc_lport(disc); in fc_disc_error() local
330 delay = msecs_to_jiffies(lport->e_d_tov); in fc_disc_error()
360 struct fc_lport *lport = fc_disc_lport(disc); in fc_disc_gpn_ft_req() local
362 WARN_ON(!fc_lport_test_ready(lport)); in fc_disc_gpn_ft_req()
369 fp = fc_frame_alloc(lport, in fc_disc_gpn_ft_req()
375 if (lport->tt.elsct_send(lport, 0, fp, in fc_disc_gpn_ft_req()
378 disc, 3 * lport->r_a_tov)) in fc_disc_gpn_ft_req()
394 struct fc_lport *lport; in fc_disc_gpn_ft_parse() local
403 lport = fc_disc_lport(disc); in fc_disc_gpn_ft_parse()
447 if (ids.port_id != lport->port_id && in fc_disc_gpn_ft_parse()
448 ids.port_name != lport->wwpn) { in fc_disc_gpn_ft_parse()
449 rdata = lport->tt.rport_create(lport, ids.port_id); in fc_disc_gpn_ft_parse()
586 struct fc_lport *lport; in fc_disc_gpn_id_resp() local
592 lport = rdata->local_port; in fc_disc_gpn_id_resp()
593 disc = &lport->disc; in fc_disc_gpn_id_resp()
616 lport->tt.rport_logoff(rdata); in fc_disc_gpn_id_resp()
618 new_rdata = lport->tt.rport_create(lport, in fc_disc_gpn_id_resp()
622 lport->tt.rport_login(new_rdata); in fc_disc_gpn_id_resp()
627 lport->tt.rport_login(rdata); in fc_disc_gpn_id_resp()
631 lport->tt.rport_logoff(rdata); in fc_disc_gpn_id_resp()
640 kref_put(&rdata->kref, lport->tt.rport_destroy); in fc_disc_gpn_id_resp()
652 static int fc_disc_gpn_id_req(struct fc_lport *lport, in fc_disc_gpn_id_req() argument
657 fp = fc_frame_alloc(lport, sizeof(struct fc_ct_hdr) + in fc_disc_gpn_id_req()
661 if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, FC_NS_GPN_ID, in fc_disc_gpn_id_req()
663 3 * lport->r_a_tov)) in fc_disc_gpn_id_req()
677 static int fc_disc_single(struct fc_lport *lport, struct fc_disc_port *dp) in fc_disc_single() argument
681 rdata = lport->tt.rport_create(lport, dp->port_id); in fc_disc_single()
685 return fc_disc_gpn_id_req(lport, rdata); in fc_disc_single()
692 static void fc_disc_stop(struct fc_lport *lport) in fc_disc_stop() argument
694 struct fc_disc *disc = &lport->disc; in fc_disc_stop()
708 static void fc_disc_stop_final(struct fc_lport *lport) in fc_disc_stop_final() argument
710 fc_disc_stop(lport); in fc_disc_stop_final()
711 lport->tt.rport_flush_queue(); in fc_disc_stop_final()
718 int fc_disc_init(struct fc_lport *lport) in fc_disc_init() argument
722 if (!lport->tt.disc_start) in fc_disc_init()
723 lport->tt.disc_start = fc_disc_start; in fc_disc_init()
725 if (!lport->tt.disc_stop) in fc_disc_init()
726 lport->tt.disc_stop = fc_disc_stop; in fc_disc_init()
728 if (!lport->tt.disc_stop_final) in fc_disc_init()
729 lport->tt.disc_stop_final = fc_disc_stop_final; in fc_disc_init()
731 if (!lport->tt.disc_recv_req) in fc_disc_init()
732 lport->tt.disc_recv_req = fc_disc_recv_req; in fc_disc_init()
734 disc = &lport->disc; in fc_disc_init()
739 disc->priv = lport; in fc_disc_init()