Lines Matching refs:rdata

53 	struct fc_rport_priv *rdata;  in fc_disc_stop_rports()  local
57 list_for_each_entry(rdata, &disc->rports, peers) { in fc_disc_stop_rports()
58 if (kref_get_unless_zero(&rdata->kref)) { in fc_disc_stop_rports()
59 fc_rport_logoff(rdata); in fc_disc_stop_rports()
60 kref_put(&rdata->kref, fc_rport_destroy); in fc_disc_stop_rports()
258 struct fc_rport_priv *rdata; in fc_disc_done() local
278 list_for_each_entry(rdata, &disc->rports, peers) { in fc_disc_done()
279 if (!kref_get_unless_zero(&rdata->kref)) in fc_disc_done()
281 if (rdata->disc_id) { in fc_disc_done()
282 if (rdata->disc_id == disc->disc_id) in fc_disc_done()
283 fc_rport_login(rdata); in fc_disc_done()
285 fc_rport_logoff(rdata); in fc_disc_done()
287 kref_put(&rdata->kref, fc_rport_destroy); in fc_disc_done()
388 struct fc_rport_priv *rdata; in fc_disc_gpn_ft_parse() local
436 rdata = fc_rport_create(lport, ids.port_id); in fc_disc_gpn_ft_parse()
437 if (rdata) { in fc_disc_gpn_ft_parse()
438 rdata->ids.port_name = ids.port_name; in fc_disc_gpn_ft_parse()
439 rdata->disc_id = disc->disc_id; in fc_disc_gpn_ft_parse()
571 struct fc_rport_priv *rdata = rdata_arg; in fc_disc_gpn_id_resp() local
579 lport = rdata->local_port; in fc_disc_gpn_id_resp()
600 mutex_lock(&rdata->rp_mutex); in fc_disc_gpn_id_resp()
601 if (rdata->ids.port_name == -1) in fc_disc_gpn_id_resp()
602 rdata->ids.port_name = port_name; in fc_disc_gpn_id_resp()
603 else if (rdata->ids.port_name != port_name) { in fc_disc_gpn_id_resp()
606 rdata->ids.port_id, port_name); in fc_disc_gpn_id_resp()
607 mutex_unlock(&rdata->rp_mutex); in fc_disc_gpn_id_resp()
608 fc_rport_logoff(rdata); in fc_disc_gpn_id_resp()
610 new_rdata = fc_rport_create(lport, rdata->ids.port_id); in fc_disc_gpn_id_resp()
618 rdata->disc_id = disc->disc_id; in fc_disc_gpn_id_resp()
619 mutex_unlock(&rdata->rp_mutex); in fc_disc_gpn_id_resp()
620 fc_rport_login(rdata); in fc_disc_gpn_id_resp()
624 fc_rport_logoff(rdata); in fc_disc_gpn_id_resp()
636 kref_put(&rdata->kref, fc_rport_destroy); in fc_disc_gpn_id_resp()
647 struct fc_rport_priv *rdata) in fc_disc_gpn_id_req() argument
656 if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, FC_NS_GPN_ID, in fc_disc_gpn_id_req()
657 fc_disc_gpn_id_resp, rdata, in fc_disc_gpn_id_req()
660 kref_get(&rdata->kref); in fc_disc_gpn_id_req()
671 struct fc_rport_priv *rdata; in fc_disc_single() local
675 rdata = fc_rport_create(lport, dp->port_id); in fc_disc_single()
676 if (!rdata) in fc_disc_single()
678 rdata->disc_id = 0; in fc_disc_single()
679 return fc_disc_gpn_id_req(lport, rdata); in fc_disc_single()