xunleer a1f6c6b147 ixgbevf: don't release the soft entries
When the ixgbevf driver is opened the request to allocate MSIX irq
vectors may fail.  In that case the driver will call ixgbevf_down()
which will call ixgbevf_irq_disable() to clear the HW interrupt
registers and calls synchronize_irq() using the msix_entries pointer in
the adapter structure.  However, when the function to request the MSIX
irq vectors failed it had already freed the msix_entries which causes
an OOPs from using the NULL pointer in synchronize_irq().

The calls to pci_disable_msix() and to free the msix_entries memory
should not occur if device open fails.  Instead they should be called
during device driver removal to balance with the call to
pci_enable_msix() and the call to allocate msix_entries memory
during the device probe and driver load.

Signed-off-by: Li Xun <xunleer.li@huawei.com>
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2013-03-26 02:31:48 -07:00
..
2013-03-12 20:25:53 -07:00
2013-03-12 20:28:45 -07:00
2013-02-21 15:27:22 -08:00
2013-02-27 19:10:15 -08:00
2013-02-27 19:10:15 -08:00
2013-03-01 13:39:00 -08:00
2013-03-18 08:17:14 -07:00
2013-03-05 17:22:08 -08:00
2013-02-28 20:00:40 -08:00
2013-03-18 08:27:41 -07:00
2013-02-27 19:10:18 -08:00
2013-02-26 09:34:29 -08:00
2013-02-27 19:10:18 -08:00
2013-02-21 15:27:22 -08:00
2013-02-27 19:10:19 -08:00
2013-03-13 15:03:48 -07:00
2013-02-27 19:10:19 -08:00
2013-03-12 20:25:53 -07:00
2013-02-22 23:31:31 -05:00
2013-02-21 13:57:13 -08:00