diff options
| author | xunleer <[email protected]> | 2013-03-05 07:44:20 +0000 |
|---|---|---|
| committer | Jeff Kirsher <[email protected]> | 2013-03-26 09:31:48 +0000 |
| commit | a1f6c6b147cc5e83ec36dab8370bd5ec5fa1def6 (patch) | |
| tree | 5280251d7b50fa2645d05796d801561da27f498e /net/unix/af_unix.c | |
| parent | ipv6: fix bad free of addrconf_init_net (diff) | |
| download | kernel-a1f6c6b147cc5e83ec36dab8370bd5ec5fa1def6.tar.gz kernel-a1f6c6b147cc5e83ec36dab8370bd5ec5fa1def6.zip | |
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 <[email protected]>
Signed-off-by: Greg Rose <[email protected]>
Tested-by: Sibai Li <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions
