Lines Matching refs:rnode
606 efc_cmd_node_alloc(struct efc *efc, struct efc_remote_node *rnode, u32 fc_addr,
610 if (rnode->indicator != U32_MAX) {
613 fc_addr, rnode->indicator);
618 rnode->nport = NULL;
621 &rnode->indicator, &rnode->index)) {
627 rnode->fc_id = fc_addr;
628 rnode->nport = nport;
636 struct efc_remote_node *rnode = arg;
644 rnode->attached = false;
647 rnode->attached = true;
651 efc_remote_node_cb(efc, evt, rnode);
657 efc_cmd_node_attach(struct efc *efc, struct efc_remote_node *rnode,
663 if (!rnode || !sparms) {
664 efc_log_err(efc, "bad parameter(s) rnode=%p sparms=%p\n",
665 rnode, sparms);
673 if (rnode->index == U32_MAX) {
674 efc_log_err(efc, "bad parameter rnode->index invalid\n");
679 if (!sli_cmd_reg_rpi(efc->sli, buf, rnode->indicator,
680 rnode->nport->indicator, rnode->fc_id, sparms, 0, 0))
682 efc_cmd_node_attach_cb, rnode);
688 efc_node_free_resources(struct efc *efc, struct efc_remote_node *rnode)
692 if (!rnode) {
693 efc_log_err(efc, "bad parameter rnode=%p\n", rnode);
697 if (rnode->nport) {
698 if (rnode->attached) {
699 efc_log_err(efc, "rnode is still attached\n");
702 if (rnode->indicator != U32_MAX) {
704 rnode->indicator)) {
707 rnode->indicator, rnode->fc_id);
710 rnode->indicator = U32_MAX;
711 rnode->index = U32_MAX;
722 struct efc_remote_node *rnode = arg;
738 if (!rnode->attached ||
744 rnode->attached = false;
748 efc_remote_node_cb(efc, evt, rnode);
754 efc_cmd_node_detach(struct efc *efc, struct efc_remote_node *rnode)
759 if (!rnode) {
760 efc_log_err(efc, "bad parameter rnode=%p\n", rnode);
764 if (rnode->nport) {
765 if (!rnode->attached)
770 if (!sli_cmd_unreg_rpi(efc->sli, buf, rnode->indicator,
773 efc_cmd_node_free_cb, rnode);