[SCSI] bnx2fc: call ctlr_link_up only when the interface is enabled
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>
Mon, 3 Oct 2011 23:45:00 +0000 (16:45 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 16 Oct 2011 15:35:45 +0000 (10:35 -0500)
Link may not be up when the driver receives ulp_start event, and hence
fcoe_ctlr_link_up is not called. Call fcoe_ctlr_link_up during
indicate_netevent only when the interface is enabled. (It has to be called when
enabled because that is an indication that the vlan discovery is completed).

Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bnx2fc/bnx2fc_fcoe.c

index 7e6ce7b..d2bbb80 100644 (file)
@@ -870,6 +870,8 @@ static void bnx2fc_indicate_netevent(void *context, unsigned long event,
                         * enable to avoid sending discovery solicitation
                         * on a stale vlan
                         */
+                       if (interface->enabled)
+                               fcoe_ctlr_link_up(&interface->ctlr);
                } else if (fcoe_ctlr_link_down(&interface->ctlr)) {
                        mutex_lock(&lport->lp_mutex);
                        list_for_each_entry(vport, &lport->vports, list)