diff options
author | Kalesh AP <kalesh.purayil@emulex.com> | 2014-04-14 16:12:41 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-04-14 13:41:37 -0400 |
commit | e1ad8e33d2e57ca64d9862b63d986fc296a7b876 (patch) | |
tree | 37889e4b5e71892beadcd3fcff25da9033d81c3a /init | |
parent | 1a3d0717f68345730ae939b74b952200fb165f45 (diff) | |
download | linux-e1ad8e33d2e57ca64d9862b63d986fc296a7b876.tar.bz2 |
be2net: Fix invocation of be_close() after be_clear()
In the EEH error recovery path, when a permanent failure occurs,
we clean up adapter structure (i.e. destroy queues etc) by calling
be_clear() and return PCI_ERS_RESULT_DISCONNECT.
After this the stack tries to remove device from bus and calls
be_remove() which invokes netdev_unregister()->be_close().
be_close() operating on destroyed queues results in a
NULL dereference.
This patch fixes this problem by introducing a flag to keep track
of the setup state.
Signed-off-by: Kalesh AP <kalesh.purayil@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions