Home Home > GIT Browse > SLE15-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2019-09-09 19:16:18 +0200
committerMichal Suchanek <msuchanek@suse.de>2019-09-09 19:16:24 +0200
commit179b93458a40c706cfca3018dc128108183c8cd9 (patch)
treeee7819ea094a8c047869973f8bd6eb234291093b
parent398814ea093cc103db5b0346ab5c3d90ae672b88 (diff)
ibmvnic: Do not process reset during or after device removal
(bsc#1149652 ltc#179635). suse-commit: fab5c4a979916f98883ed6de5e39b23fbf1df6f8
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index 460df79c7868..1dde8bf8ee3e 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -1994,6 +1994,10 @@ static void __ibmvnic_reset(struct work_struct *work)
rwi = get_next_rwi(adapter);
while (rwi) {
+ if (adapter->state == VNIC_REMOVING ||
+ adapter->state == VNIC_REMOVED)
+ goto out;
+
if (adapter->force_reset_recovery) {
adapter->force_reset_recovery = false;
rc = do_hard_reset(adapter, rwi, reset_state);
@@ -2018,7 +2022,7 @@ static void __ibmvnic_reset(struct work_struct *work)
netdev_dbg(adapter->netdev, "Reset failed\n");
free_all_rwi(adapter);
}
-
+out:
adapter->resetting = false;
if (we_lock_rtnl)
rtnl_unlock();