summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fcoe/fcoe_ctlr.c
diff options
context:
space:
mode:
authorUsha Ketineni <usha.k.ketineni@intel.com>2016-02-29 03:36:52 -0800
committerMartin K. Petersen <martin.petersen@oracle.com>2016-02-29 21:02:20 -0500
commiteac00c8aa8a5e1dacaaa8ecc1d604a735851287d (patch)
treeac848a600e08f207fec755785ee92088a76332bc /drivers/scsi/fcoe/fcoe_ctlr.c
parent268d11e9eff2c84b82ab7d01dd3c71461c7313b3 (diff)
downloadlinux-eac00c8aa8a5e1dacaaa8ecc1d604a735851287d.tar.bz2
fcoe: fix reset of fip selection time.
Do not reset fip selection time for every advertisement in fcoe_ctlr_recv_adv() but set it only once for the first validated FCF. Otherwise FCF selection won't happen when the advertisements consistently arrive with sub FCOE_CTLR_START_DELAY periodicity. Tested-by: Narendra K <narendra_k@dell.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Acked-by: Vasu Dev <vasu.dev@intel.com> Signed-off-by: Usha Ketineni <usha.k.ketineni@intel.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/fcoe/fcoe_ctlr.c')
-rw-r--r--drivers/scsi/fcoe/fcoe_ctlr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c
index 34a1b1f333b4..3e83d485f743 100644
--- a/drivers/scsi/fcoe/fcoe_ctlr.c
+++ b/drivers/scsi/fcoe/fcoe_ctlr.c
@@ -1118,7 +1118,8 @@ static void fcoe_ctlr_recv_adv(struct fcoe_ctlr *fip, struct sk_buff *skb)
* If this is the first validated FCF, note the time and
* set a timer to trigger selection.
*/
- if (mtu_valid && !fip->sel_fcf && fcoe_ctlr_fcf_usable(fcf)) {
+ if (mtu_valid && !fip->sel_fcf && !fip->sel_time &&
+ fcoe_ctlr_fcf_usable(fcf)) {
fip->sel_time = jiffies +
msecs_to_jiffies(FCOE_CTLR_START_DELAY);
if (!timer_pending(&fip->timer) ||