linux_dsm_epyc7002/drivers/net/ethernet/intel/ixgbevf
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
..
defines.h ixgbevf: Add VF DCB + SR-IOV support 2012-10-22 21:15:35 -07:00
ethtool.c ixgbevf: Make sure link status and speed are fetched 2013-01-28 00:19:52 -08:00
ixgbevf_main.c ixgbevf: don't release the soft entries 2013-03-26 02:31:48 -07:00
ixgbevf.h ixgbevf: Add checksum statistics counters to rings 2012-11-15 06:30:42 -08:00
Makefile
mbx.c ixgbevf: Fix code for handling timeout 2012-09-24 00:21:51 -07:00
mbx.h ixgbevf: Add VF DCB + SR-IOV support 2012-10-22 21:15:35 -07:00
regs.h
vf.c eth: Make is_link_local() consistent with other address tests 2012-11-02 21:34:05 -04:00
vf.h ixgbevf: Add VF DCB + SR-IOV support 2012-10-22 21:15:35 -07:00