Skip to content

Commit

Permalink
tcm_fc: Do not report target role when target is not defined
Browse files Browse the repository at this point in the history
Clear the target role when no target is provided for
the node performing a PRLI.

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Acked by Robert Love <robert.w.love@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Mark Rustad authored and Nicholas Bellinger committed Jan 11, 2013
1 parent f2eeba2 commit edec8df
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/target/tcm_fc/tfc_sess.c
Original file line number Diff line number Diff line change
Expand Up @@ -355,11 +355,11 @@ static int ft_prli_locked(struct fc_rport_priv *rdata, u32 spp_len,

tport = ft_tport_create(rdata->local_port);
if (!tport)
return 0; /* not a target for this local port */
goto not_target; /* not a target for this local port */

acl = ft_acl_get(tport->tpg, rdata);
if (!acl)
return 0;
goto not_target; /* no target for this remote */

if (!rspp)
goto fill;
Expand Down Expand Up @@ -402,6 +402,12 @@ static int ft_prli_locked(struct fc_rport_priv *rdata, u32 spp_len,
fcp_parm &= ~FCP_SPPF_RETRY;
spp->spp_params = htonl(fcp_parm | FCP_SPPF_TARG_FCN);
return FC_SPP_RESP_ACK;

not_target:
fcp_parm = ntohl(spp->spp_params);
fcp_parm &= ~FCP_SPPF_TARG_FCN;
spp->spp_params = htonl(fcp_parm);
return 0;
}

/**
Expand Down

0 comments on commit edec8df

Please sign in to comment.