static void fc_fcp_recv(struct fc_seq *seq, struct fc_frame *fp, void *arg)
 {
        struct fc_fcp_pkt *fsp = (struct fc_fcp_pkt *)arg;
-       struct fc_lport *lp;
+       struct fc_lport *lport = fsp->lp;
        struct fc_frame_header *fh;
        struct fcp_txrdy *dd;
        u8 r_ctl;
 
        fh = fc_frame_header_get(fp);
        r_ctl = fh->fh_r_ctl;
-       lp = fsp->lp;
 
-       if (!(lp->state & LPORT_ST_READY))
+       if (!(lport->state & LPORT_ST_READY))
                goto out;
        if (fc_fcp_lock_pkt(fsp))
                goto out;
        if (IS_ERR(fp))
                fc_fcp_error(fsp, fp);
        else if (rc == -ENOMEM)
-               fc_fcp_reduce_can_queue(lp);
+               fc_fcp_reduce_can_queue(lport);
 }
 
 static void fc_fcp_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp)
 
        struct fc_rport *rport = rp_arg;
        struct fc_rport_libfc_priv *rdata = rport->dd_data;
        struct fc_lport *lport = rdata->local_port;
-       struct fc_els_flogi *plp;
+       struct fc_els_flogi *plp = NULL;
        unsigned int tov;
        u16 csp_seq;
        u16 cssp_seq;
 
  * Well-known fabric addresses.
  */
 enum fc_well_known_fid {
+       FC_FID_NONE =           0x000000,       /* No destination */
        FC_FID_BCAST =          0xffffff,       /* broadcast */
        FC_FID_FLOGI =          0xfffffe,       /* fabric login */
        FC_FID_FCTRL =          0xfffffd,       /* fabric controller */