Otherwise it will keep getting re-initialized for every VN_Port once NPIV is
enabled.

Signed-off-by: Chris Leech <[email protected]>
---

 drivers/scsi/fcoe/fcoe.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 5ae5c76..49a9d5b 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -211,6 +211,9 @@ static int fcoe_interface_setup(struct fcoe_interface *fcoe,
        return 0;
 }
 
+static void fcoe_fip_send(struct fcoe_ctlr *fip, struct sk_buff *skb);
+static void fcoe_update_src_mac(struct fcoe_ctlr *fip, u8 *old, u8 *new);
+
 /**
  * fcoe_interface_create()
  * @netdev: network interface
@@ -228,6 +231,14 @@ static struct fcoe_interface *fcoe_interface_create(struct 
net_device *netdev)
        }
 
        kref_init(&fcoe->kref);
+
+       /*
+        * Initialize FIP.
+        */
+       fcoe_ctlr_init(&fcoe->ctlr);
+       fcoe->ctlr.send = fcoe_fip_send;
+       fcoe->ctlr.update_mac = fcoe_update_src_mac;
+
        fcoe_interface_setup(fcoe, netdev);
 
        return fcoe;
@@ -702,13 +713,6 @@ static struct fc_lport *fcoe_if_create(struct 
fcoe_interface *fcoe,
                goto out_host_put;
        }
 
-       /*
-        * Initialize FIP.
-        */
-       fcoe_ctlr_init(&fcoe->ctlr);
-       fcoe->ctlr.send = fcoe_fip_send;
-       fcoe->ctlr.update_mac = fcoe_update_src_mac;
-
        /* configure lport network properties */
        rc = fcoe_netdev_config(lport, netdev);
        if (rc) {

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

Reply via email to