This patch fix an oops issue caused by NULL pointer. The call stack may be like this: [<ffffffffa04dae0b>] ixgbevf_down+0x10b/0x300 [ixgbevf] [<ffffffffa04dc6bd>] ixgbevf_open+0x27d/0x2b0 [ixgbevf] [<ffffffff813866b7>] __dev_open+0xa7/0x100 [<ffffffff81386745>] dev_open+0x35/0x60 When opening the net device, we are trying to request msix irqs, if failed, the error procedure released the msix entries and disabled the MSI-X interrupts in pci level. However, if the request is not succeeded, the ixgbevf_down is called, it synchronizes the irq by referring to the msix_entries, it may cause oops as to NULL pointer references. The msix_entries may be allocated in probe procedure and be released in remove routine may be the best way. So we removed this error processing action. Then we may try to reopen the device, all we must reload the driver. Signed-off-by: Li Xun <xunleer.li@xxxxxxxxxx> --- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index c3db6cd..f176208 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -944,9 +944,6 @@ free_queue_irqs: free_irq(adapter->msix_entries[vector].vector, adapter->q_vector[vector]); } - pci_disable_msix(adapter->pdev); - kfree(adapter->msix_entries); - adapter->msix_entries = NULL; return err; } -- 1.8.0 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html