On Tue, 2011-03-15 at 16:22 -0700, Vasu Dev wrote: 
> Bhanu, 
> 
> I got this patch per latest post at
> https://lists.open-fcoe.org/pipermail/devel/2011-January/011063.html and
> this is only compile tested, however should work as almost same code
> paths in fcoe.ko works.
> 
>       Vasu
> 

If we have your "remove duplicate ema_list init" patch, then the bnx2fc
patch is redundant. Same is the case with fcoe patch you submitted
earlier, right?

> 
> On Tue, 2011-03-15 at 16:13 -0700, Vasu Dev wrote:
> > Use fc_exch_mgr_list_clone to setup em for npiv port.
> > 
> > Also remove redundant vport and lport initializations.
> > 
> > Signed-off-by: Vasu Dev <[email protected]>
> > ---
> > 
> >  drivers/scsi/bnx2fc/bnx2fc_fcoe.c |   29 +++++++++++++++--------------
> >  1 files changed, 15 insertions(+), 14 deletions(-)
> > 
> > diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c 
> > b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
> > index e476e87..71842a7 100644
> > --- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
> > +++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
> > @@ -1296,20 +1296,17 @@ setup_err:
> >  static struct fc_lport *bnx2fc_if_create(struct bnx2fc_hba *hba,
> >                               struct device *parent, int npiv)
> >  {
> > -   struct fc_lport         *lport = NULL;
> > +   struct fc_lport         *lport, *n_port;
> >     struct fcoe_port        *port;
> >     struct Scsi_Host        *shost;
> >     struct fc_vport         *vport = dev_to_vport(parent);
> >     int                     rc = 0;
> >  
> >     /* Allocate Scsi_Host structure */
> > -   if (!npiv) {
> > -           lport = libfc_host_alloc(&bnx2fc_shost_template,
> > -                                     sizeof(struct fcoe_port));
> > -   } else {
> > -           lport = libfc_vport_create(vport,
> > -                                      sizeof(struct fcoe_port));
> > -   }
> > +   if (!npiv)
> > +           lport = libfc_host_alloc(&bnx2fc_shost_template, sizeof(*port));
> > +   else
> > +           lport = libfc_vport_create(vport, sizeof(*port));
> >  
> >     if (!lport) {
> >             printk(KERN_ERR PFX "could not allocate scsi host structure\n");
> > @@ -1327,7 +1324,6 @@ static struct fc_lport *bnx2fc_if_create(struct 
> > bnx2fc_hba *hba,
> >             goto lp_config_err;
> >  
> >     if (npiv) {
> > -           vport = dev_to_vport(parent);
> >             printk(KERN_ERR PFX "Setting vport names, 0x%llX 0x%llX\n",
> >                     vport->node_name, vport->port_name);
> >             fc_set_wwnn(lport, vport->node_name);
> > @@ -1356,12 +1352,17 @@ static struct fc_lport *bnx2fc_if_create(struct 
> > bnx2fc_hba *hba,
> >     fc_host_port_type(lport->host) = FC_PORTTYPE_UNKNOWN;
> >  
> >     /* Allocate exchange manager */
> > -   if (!npiv) {
> > +   if (!npiv)
> >             rc = bnx2fc_em_config(lport);
> > -           if (rc) {
> > -                   printk(KERN_ERR PFX "Error on bnx2fc_em_config\n");
> > -                   goto shost_err;
> > -           }
> > +   else {
> > +           shost = vport_to_shost(vport);
> > +           n_port = shost_priv(shost);
> > +           rc = fc_exch_mgr_list_clone(n_port, lport);
> > +   }
> > +
> > +   if (rc) {
> > +           printk(KERN_ERR PFX "Error on bnx2fc_em_config\n");
> > +           goto shost_err;
> >     }
> >  
> >     bnx2fc_interface_get(hba);
> > 
> > _______________________________________________
> > devel mailing list
> > [email protected]
> > https://lists.open-fcoe.org/mailman/listinfo/devel
> 
> 



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

Reply via email to