diff options
Diffstat (limited to 'drivers/scsi/fcoe')
-rw-r--r-- | drivers/scsi/fcoe/fcoe.c | 10 |
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); |
1983 | out_nodev: | 1981 | out_nodev: |