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
commit7983e72cd0d0b8f483539e8036d4659ce0113a71 (patch)
treebf471ece4cb71780480a53c5d2fda86e80ad2000
parent179b93458a40c706cfca3018dc128108183c8cd9 (diff)
net/ibmvnic: free reset work of removed device from queue
(bsc#1149652 ltc#179635). suse-commit: b05eda9859637252218249d8ade2af920032e2b9
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index 1dde8bf8ee3e..76b9ad381cd9 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -1996,7 +1996,10 @@ static void __ibmvnic_reset(struct work_struct *work)
while (rwi) {
if (adapter->state == VNIC_REMOVING ||
adapter->state == VNIC_REMOVED)
- goto out;
+ kfree(rwi);
+ rc = EBUSY;
+ break;
+ }
if (adapter->force_reset_recovery) {
adapter->force_reset_recovery = false;
@@ -2022,7 +2025,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();