浏览代码

fm10k: free MBX IRQ before clearing interrupt scheme

During fm10k_io_error_detected we were clearing the interrupt scheme
before we freed the MBX IRQ. This causes a kernel panic because the MBX
IRQ are assigned after MSI-X initialization. Clearing the interrupt
scheme results in removing the MSI-X entry table. Fix this by freeing
the MBX IRQ before we clear the interrupt scheme, as we do elsewhere in
the driver.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jacob Keller 9 年之前
父节点
当前提交
c8ed563beb
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/net/ethernet/intel/fm10k/fm10k_pci.c

+ 2 - 2
drivers/net/ethernet/intel/fm10k/fm10k_pci.c

@@ -2274,11 +2274,11 @@ static pci_ers_result_t fm10k_io_error_detected(struct pci_dev *pdev,
 	if (netif_running(netdev))
 	if (netif_running(netdev))
 		fm10k_close(netdev);
 		fm10k_close(netdev);
 
 
+	fm10k_mbx_free_irq(interface);
+
 	/* free interrupts */
 	/* free interrupts */
 	fm10k_clear_queueing_scheme(interface);
 	fm10k_clear_queueing_scheme(interface);
 
 
-	fm10k_mbx_free_irq(interface);
-
 	pci_disable_device(pdev);
 	pci_disable_device(pdev);
 
 
 	/* Request a slot reset. */
 	/* Request a slot reset. */