On Mon, 2010-07-12 at 18:27 -0700, Bhanu Gollapudi wrote:
>         did = ntoh24(fh->fh_d_id);
> -       if (fc_frame_payload_op(fp) == ELS_LS_ACC && did != 0) {
> +       if (!did) {

Per FC-LS-2 6.2.2.3, the did should not be zero for LS_RJT but not sure
if all switch really do that for FLOGI LS_RJT as they may simply respond
to FLOGI SID=0, but any case I don't see any reason not to try LS_RJT if
did is zero or any need to check did for LS_RJT, so perhaps did check
should be left as-is as it was before along with LS_ACC.
 
> +               FC_LPORT_DBG(lport, "Bad FLOGI response\n");
> +               goto out;
> +       }
> +
> +       if (fc_frame_payload_op(fp) == ELS_LS_ACC) {
>                 flp = fc_frame_payload_get(fp, sizeof(*flp));
>                 if (flp) {
>                         mfs = ntohs(flp->fl_csp.sp_bb_data) &
> @@ -1518,7 +1524,7 @@ void fc_lport_flogi_resp(struct fc_seq *sp,
> struct fc_frame *fp,
>                         }
>                 }
>         } else {
> -               FC_LPORT_DBG(lport, "Bad FLOGI response\n");
> +               fc_lport_error(lport, fp);
>         }
>  

No braces needed for single statement.

        Vasu

>  out:
> -- 

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to