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