Move some of the code in fcoe_ctlr_timer_work() to
fcoe_ctlr_select() so that it can be shared
with another function in a forthcoming patch.

Signed-off-by: Joe Eykholt <[email protected]>
---
 drivers/scsi/fcoe/libfcoe.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)


diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index a0bc966..621e2d3 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -1391,6 +1391,13 @@ static void fcoe_ctlr_select(struct fcoe_ctlr *fip)
                        best = fcf;
        }
        fip->sel_fcf = best;
+       if (best) {
+               fip->port_ka_time = jiffies +
+                       msecs_to_jiffies(FIP_VN_KA_PERIOD);
+               fip->ctlr_ka_time = jiffies + best->fka_period;
+               if (time_before(fip->ctlr_ka_time, fip->timer.expires))
+                       mod_timer(&fip->timer, fip->ctlr_ka_time);
+       }
 }
 
 /**
@@ -1449,9 +1456,6 @@ static void fcoe_ctlr_timer_work(struct work_struct *work)
                fcf = sel;              /* the old FCF may have been freed */
                fcoe_ctlr_announce(fip);
                if (sel) {
-                       fip->port_ka_time = jiffies +
-                               msecs_to_jiffies(FIP_VN_KA_PERIOD);
-                       fip->ctlr_ka_time = jiffies + sel->fka_period;
                        if (time_after(next_timer, fip->ctlr_ka_time))
                                next_timer = fip->ctlr_ka_time;
                } else


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

Reply via email to