This is a note to let you know that I've just added the patch titled
ixgbe: fix AER error handling
to the 4.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git%3Ba=su...
The filename of the patch is: ixgbe-fix-aer-error-handling.patch and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let stable@vger.kernel.org know about it.
From foo@baz Sun Nov 19 12:02:55 CET 2017
From: Emil Tantilov emil.s.tantilov@intel.com Date: Wed, 16 Nov 2016 09:48:02 -0800 Subject: ixgbe: fix AER error handling
From: Emil Tantilov emil.s.tantilov@intel.com
[ Upstream commit 126db13fa0e6d05c9f94e0125f61e773bd5ab079 ]
Make sure that we free the IRQs in ixgbe_io_error_detected() when responding to an PCIe AER error and also restore them when the interface recovers from it.
Previously it was possible to trigger BUG_ON() check in free_msix_irqs() in the case where we call ixgbe_remove() after a failed recovery from AER error because the interrupts were not freed.
Signed-off-by: Emil Tantilov emil.s.tantilov@intel.com Tested-by: Andrew Bowers andrewx.bowers@intel.com Signed-off-by: Jeff Kirsher jeffrey.t.kirsher@intel.com Signed-off-by: Sasha Levin alexander.levin@verizon.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -9221,7 +9221,7 @@ skip_bad_vf_detection: }
if (netif_running(netdev)) - ixgbe_down(adapter); + ixgbe_close_suspend(adapter);
if (!test_and_set_bit(__IXGBE_DISABLED, &adapter->state)) pci_disable_device(pdev); @@ -9291,10 +9291,12 @@ static void ixgbe_io_resume(struct pci_d }
#endif + rtnl_lock(); if (netif_running(netdev)) - ixgbe_up(adapter); + ixgbe_open(netdev);
netif_device_attach(netdev); + rtnl_unlock(); }
static const struct pci_error_handlers ixgbe_err_handler = {
Patches currently in stable-queue which might be from emil.s.tantilov@intel.com are
queue-4.4/ixgbe-handle-close-suspend-race-with-netif_device_detach-present.patch queue-4.4/ixgbe-do-not-disable-fec-from-the-driver.patch queue-4.4/ixgbe-fix-aer-error-handling.patch queue-4.4/ixgbe-add-mask-for-64-rss-queues.patch
linux-stable-mirror@lists.linaro.org