aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fcoe
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/fcoe')
-rw-r--r--drivers/scsi/fcoe/fcoe.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 44a07593de56..d340cf2d857a 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -1918,8 +1918,8 @@ static int fcoe_disable(const char *buffer, struct kernel_param *kp)
1918 rtnl_unlock(); 1918 rtnl_unlock();
1919 1919
1920 if (fcoe) { 1920 if (fcoe) {
1921 fc_fabric_logoff(fcoe->ctlr.lp);
1922 fcoe_ctlr_link_down(&fcoe->ctlr); 1921 fcoe_ctlr_link_down(&fcoe->ctlr);
1922 fcoe_clean_pending_queue(fcoe->ctlr.lp);
1923 } else 1923 } else
1924 rc = -ENODEV; 1924 rc = -ENODEV;
1925 1925
@@ -1972,12 +1972,10 @@ static int fcoe_enable(const char *buffer, struct kernel_param *kp)
1972 fcoe = fcoe_hostlist_lookup_port(netdev); 1972 fcoe = fcoe_hostlist_lookup_port(netdev);
1973 rtnl_unlock(); 1973 rtnl_unlock();
1974 1974
1975 if (fcoe) { 1975 if (!fcoe)
1976 if (!fcoe_link_ok(fcoe->ctlr.lp))
1977 fcoe_ctlr_link_up(&fcoe->ctlr);
1978 rc = fc_fabric_login(fcoe->ctlr.lp);
1979 } else
1980 rc = -ENODEV; 1976 rc = -ENODEV;
1977 else if (!fcoe_link_ok(fcoe->ctlr.lp))
1978 fcoe_ctlr_link_up(&fcoe->ctlr);
1981 1979
1982 dev_put(netdev); 1980 dev_put(netdev);
1983out_nodev: 1981out_nodev: