Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41f149a2 authored by Carolyn Wyborny's avatar Carolyn Wyborny Committed by Jeff Kirsher
Browse files

igb: Fix possible panic caused by Rx traffic arrival while interface is down



This patch reorders disabling napi and irqs during igb_down.
This is done to avoid possible panic's found in other Intel drivers
when Rx traffic arrives while interface is going down.

Signed-off-by: default avatarCarolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 2a0a0f1e
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -1667,10 +1667,13 @@ void igb_down(struct igb_adapter *adapter)
	wrfl();
	wrfl();
	msleep(10);
	msleep(10);


	for (i = 0; i < adapter->num_q_vectors; i++)
	igb_irq_disable(adapter);

	for (i = 0; i < adapter->num_q_vectors; i++) {
		napi_synchronize(&(adapter->q_vector[i]->napi));
		napi_disable(&(adapter->q_vector[i]->napi));
		napi_disable(&(adapter->q_vector[i]->napi));
	}


	igb_irq_disable(adapter);


	del_timer_sync(&adapter->watchdog_timer);
	del_timer_sync(&adapter->watchdog_timer);
	del_timer_sync(&adapter->phy_info_timer);
	del_timer_sync(&adapter->phy_info_timer);