mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 11:21:33 +00:00
i40e: Move the saving of old link info from handle_link_event to link_event
The watchdog only calls link_event not handle_link_event which means that we need to save the old information in link_event. Previously when polling we were comparing current data to the old data saved the last time we actually received a link event. This means that the polling would only fix link status changes in one direction depending on what the last old data saved off was. Change-ID: Ie590f30fdbcb133d0ddad4e07e3eb1aad58255b3 Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
164c9f5463
commit
1f9610e477
@ -6016,6 +6016,9 @@ static void i40e_link_event(struct i40e_pf *pf)
|
||||
i40e_status status;
|
||||
bool new_link, old_link;
|
||||
|
||||
/* save off old link status information */
|
||||
pf->hw.phy.link_info_old = pf->hw.phy.link_info;
|
||||
|
||||
/* set this to force the get_link_status call to refresh state */
|
||||
pf->hw.phy.get_link_info = true;
|
||||
|
||||
@ -6150,13 +6153,9 @@ unlock:
|
||||
static void i40e_handle_link_event(struct i40e_pf *pf,
|
||||
struct i40e_arq_event_info *e)
|
||||
{
|
||||
struct i40e_hw *hw = &pf->hw;
|
||||
struct i40e_aqc_get_link_status *status =
|
||||
(struct i40e_aqc_get_link_status *)&e->desc.params.raw;
|
||||
|
||||
/* save off old link status information */
|
||||
hw->phy.link_info_old = hw->phy.link_info;
|
||||
|
||||
/* Do a new status request to re-enable LSE reporting
|
||||
* and load new status information into the hw struct
|
||||
* This completely ignores any state information
|
||||
|
Loading…
Reference in New Issue
Block a user