We only want the FCoE create and destroy routines to deal with top level N_Ports, the VN_Ports are tracked in scsi_transport_fc.
Signed-off-by: Chris Leech <[email protected]> --- drivers/scsi/fcoe/fcoe.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c index 0cdfd09..a0c44a9 100644 --- a/drivers/scsi/fcoe/fcoe.c +++ b/drivers/scsi/fcoe/fcoe.c @@ -523,9 +523,6 @@ static void fcoe_if_destroy(struct fc_lport *lp) /* Logout of the fabric */ fc_fabric_logoff(lp); - /* Remove the instance from fcoe's list */ - fcoe_hostlist_remove(lp); - /* clean up netdev configurations */ fcoe_netdev_cleanup(fc); @@ -679,9 +676,6 @@ static struct fc_lport *fcoe_if_create(struct net_device *netdev, goto out_lp_destroy; } - /* add to lports list */ - fcoe_hostlist_add(lp); - lp->boot_time = jiffies; fc_fabric_login(lp); @@ -1642,6 +1636,8 @@ static int fcoe_destroy(const char *buffer, struct kernel_param *kp) rc = -ENODEV; goto out_putdev; } + /* Remove the instance from fcoe's list */ + fcoe_hostlist_remove(lport); fcoe_if_destroy(lport); fcoe_ethdrv_put(netdev); rc = 0; @@ -1684,6 +1680,10 @@ static int fcoe_create(const char *buffer, struct kernel_param *kp) rc = -EIO; goto out_putdev; } + + /* add to lports list */ + fcoe_hostlist_add(lport); + rc = 0; out_putdev: dev_put(netdev); _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
