Lines Matching refs:newrec
360 struct nvme_fc_lport *newrec; in nvme_fc_register_localport() local
380 newrec = nvme_fc_attach_to_unreg_lport(pinfo, template, dev); in nvme_fc_register_localport()
383 if (IS_ERR(newrec)) { in nvme_fc_register_localport()
384 ret = PTR_ERR(newrec); in nvme_fc_register_localport()
388 } else if (newrec) { in nvme_fc_register_localport()
389 *portptr = &newrec->localport; in nvme_fc_register_localport()
395 newrec = kmalloc((sizeof(*newrec) + template->local_priv_sz), in nvme_fc_register_localport()
397 if (!newrec) { in nvme_fc_register_localport()
413 INIT_LIST_HEAD(&newrec->port_list); in nvme_fc_register_localport()
414 INIT_LIST_HEAD(&newrec->endp_list); in nvme_fc_register_localport()
415 kref_init(&newrec->ref); in nvme_fc_register_localport()
416 atomic_set(&newrec->act_rport_cnt, 0); in nvme_fc_register_localport()
417 newrec->ops = template; in nvme_fc_register_localport()
418 newrec->dev = dev; in nvme_fc_register_localport()
419 ida_init(&newrec->endp_cnt); in nvme_fc_register_localport()
421 newrec->localport.private = &newrec[1]; in nvme_fc_register_localport()
423 newrec->localport.private = NULL; in nvme_fc_register_localport()
424 newrec->localport.node_name = pinfo->node_name; in nvme_fc_register_localport()
425 newrec->localport.port_name = pinfo->port_name; in nvme_fc_register_localport()
426 newrec->localport.port_role = pinfo->port_role; in nvme_fc_register_localport()
427 newrec->localport.port_id = pinfo->port_id; in nvme_fc_register_localport()
428 newrec->localport.port_state = FC_OBJSTATE_ONLINE; in nvme_fc_register_localport()
429 newrec->localport.port_num = idx; in nvme_fc_register_localport()
432 list_add_tail(&newrec->port_list, &nvme_fc_lport_list); in nvme_fc_register_localport()
438 *portptr = &newrec->localport; in nvme_fc_register_localport()
444 kfree(newrec); in nvme_fc_register_localport()
677 struct nvme_fc_rport *newrec; in nvme_fc_register_remoteport() local
691 newrec = nvme_fc_attach_to_suspended_rport(lport, pinfo); in nvme_fc_register_remoteport()
694 if (IS_ERR(newrec)) { in nvme_fc_register_remoteport()
695 ret = PTR_ERR(newrec); in nvme_fc_register_remoteport()
699 } else if (newrec) { in nvme_fc_register_remoteport()
701 __nvme_fc_set_dev_loss_tmo(newrec, pinfo); in nvme_fc_register_remoteport()
702 nvme_fc_signal_discovery_scan(lport, newrec); in nvme_fc_register_remoteport()
703 *portptr = &newrec->remoteport; in nvme_fc_register_remoteport()
709 newrec = kmalloc((sizeof(*newrec) + lport->ops->remote_priv_sz), in nvme_fc_register_remoteport()
711 if (!newrec) { in nvme_fc_register_remoteport()
722 INIT_LIST_HEAD(&newrec->endp_list); in nvme_fc_register_remoteport()
723 INIT_LIST_HEAD(&newrec->ctrl_list); in nvme_fc_register_remoteport()
724 INIT_LIST_HEAD(&newrec->ls_req_list); in nvme_fc_register_remoteport()
725 INIT_LIST_HEAD(&newrec->disc_list); in nvme_fc_register_remoteport()
726 kref_init(&newrec->ref); in nvme_fc_register_remoteport()
727 atomic_set(&newrec->act_ctrl_cnt, 0); in nvme_fc_register_remoteport()
728 spin_lock_init(&newrec->lock); in nvme_fc_register_remoteport()
729 newrec->remoteport.localport = &lport->localport; in nvme_fc_register_remoteport()
730 INIT_LIST_HEAD(&newrec->ls_rcv_list); in nvme_fc_register_remoteport()
731 newrec->dev = lport->dev; in nvme_fc_register_remoteport()
732 newrec->lport = lport; in nvme_fc_register_remoteport()
734 newrec->remoteport.private = &newrec[1]; in nvme_fc_register_remoteport()
736 newrec->remoteport.private = NULL; in nvme_fc_register_remoteport()
737 newrec->remoteport.port_role = pinfo->port_role; in nvme_fc_register_remoteport()
738 newrec->remoteport.node_name = pinfo->node_name; in nvme_fc_register_remoteport()
739 newrec->remoteport.port_name = pinfo->port_name; in nvme_fc_register_remoteport()
740 newrec->remoteport.port_id = pinfo->port_id; in nvme_fc_register_remoteport()
741 newrec->remoteport.port_state = FC_OBJSTATE_ONLINE; in nvme_fc_register_remoteport()
742 newrec->remoteport.port_num = idx; in nvme_fc_register_remoteport()
743 __nvme_fc_set_dev_loss_tmo(newrec, pinfo); in nvme_fc_register_remoteport()
744 INIT_WORK(&newrec->lsrcv_work, nvme_fc_handle_ls_rqst_work); in nvme_fc_register_remoteport()
747 list_add_tail(&newrec->endp_list, &lport->endp_list); in nvme_fc_register_remoteport()
750 nvme_fc_signal_discovery_scan(lport, newrec); in nvme_fc_register_remoteport()
752 *portptr = &newrec->remoteport; in nvme_fc_register_remoteport()
756 kfree(newrec); in nvme_fc_register_remoteport()