lkml.org 
[lkml]   [2011]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] bnx2fc: setup em for npiv port
From
Date
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 <vasu.dev@intel.com>
> ---

James,

We have tested this, and would like to ack it.

Thanks,
Bhanu

>
> 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);
>
>





\
 
 \ /
  Last update: 2011-03-24 01:33    [W:0.025 / U:0.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site