|
@@ -5449,7 +5449,7 @@ static void i40e_check_hang_subtask(struct i40e_pf *pf)
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * i40e_watchdog_subtask - Check and bring link up
|
|
|
|
|
|
+ * i40e_watchdog_subtask - periodic checks not using event driven response
|
|
* @pf: board private structure
|
|
* @pf: board private structure
|
|
**/
|
|
**/
|
|
static void i40e_watchdog_subtask(struct i40e_pf *pf)
|
|
static void i40e_watchdog_subtask(struct i40e_pf *pf)
|
|
@@ -5461,6 +5461,15 @@ static void i40e_watchdog_subtask(struct i40e_pf *pf)
|
|
test_bit(__I40E_CONFIG_BUSY, &pf->state))
|
|
test_bit(__I40E_CONFIG_BUSY, &pf->state))
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ /* make sure we don't do these things too often */
|
|
|
|
+ if (time_before(jiffies, (pf->service_timer_previous +
|
|
|
|
+ pf->service_timer_period)))
|
|
|
|
+ return;
|
|
|
|
+ pf->service_timer_previous = jiffies;
|
|
|
|
+
|
|
|
|
+ i40e_check_hang_subtask(pf);
|
|
|
|
+ i40e_link_event(pf);
|
|
|
|
+
|
|
/* Update the stats for active netdevs so the network stack
|
|
/* Update the stats for active netdevs so the network stack
|
|
* can look at updated numbers whenever it cares to
|
|
* can look at updated numbers whenever it cares to
|
|
*/
|
|
*/
|
|
@@ -6325,15 +6334,12 @@ static void i40e_service_task(struct work_struct *work)
|
|
i40e_vc_process_vflr_event(pf);
|
|
i40e_vc_process_vflr_event(pf);
|
|
i40e_watchdog_subtask(pf);
|
|
i40e_watchdog_subtask(pf);
|
|
i40e_fdir_reinit_subtask(pf);
|
|
i40e_fdir_reinit_subtask(pf);
|
|
- i40e_check_hang_subtask(pf);
|
|
|
|
i40e_sync_filters_subtask(pf);
|
|
i40e_sync_filters_subtask(pf);
|
|
#ifdef CONFIG_I40E_VXLAN
|
|
#ifdef CONFIG_I40E_VXLAN
|
|
i40e_sync_vxlan_filters_subtask(pf);
|
|
i40e_sync_vxlan_filters_subtask(pf);
|
|
#endif
|
|
#endif
|
|
i40e_clean_adminq_subtask(pf);
|
|
i40e_clean_adminq_subtask(pf);
|
|
|
|
|
|
- i40e_link_event(pf);
|
|
|
|
-
|
|
|
|
i40e_service_event_complete(pf);
|
|
i40e_service_event_complete(pf);
|
|
|
|
|
|
/* If the tasks have taken longer than one timer cycle or there
|
|
/* If the tasks have taken longer than one timer cycle or there
|