i40e: Clean up MSIX IRQs before suspend
authorGreg Rose <gregory.v.rose@intel.com>
Mon, 16 May 2016 17:26:37 +0000 (10:26 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 27 Jun 2016 22:37:16 +0000 (15:37 -0700)
commitb33d3b7321bb5ae291851fce31688d2d3c432e6b
treed0d18a128a40997c490587e08dec5c27054e6648
parent0e8d95f8965dc2e6f22e5b321b73de7b0396dc4a
i40e: Clean up MSIX IRQs before suspend

The i40e_suspend() function calls another function that preps the device
for the power save and resume by freeing all the Tx/Rx resources and
interrupts but that function does not free the "other" causes interrupt
vector and IRQ. It also fails to call synchronize_irq() before freeing
the IRQ vectors.  This sometimes may result in some AER errors on those
systems with that PCIe error reporting feature enabled.

Call synchronize_irq() before freeing IRQ vectors and explicitly free
the other causes interrupt resources and shut down that MSIX interrupt.

Change-ID: Ib88e4536756518a352446da0232189716618ad81
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c