Message ID | 1591986881-19624-1-git-send-email-tlfalcon@linux.ibm.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] ibmvnic: Flush existing work items before device removal | expand |
From: Thomas Falcon <tlfalcon@linux.ibm.com> Date: Fri, 12 Jun 2020 13:34:41 -0500 > Ensure that all scheduled work items have completed before continuing > with device removal and after further event scheduling has been > halted. This patch fixes a bug where a scheduled driver reset event > is processed following device removal. > > Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com> Applied, thank you.
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 1cb2b7f3b2cb..a66fa75976d3 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -5197,6 +5197,9 @@ static int ibmvnic_remove(struct vio_dev *dev) adapter->state = VNIC_REMOVING; spin_unlock_irqrestore(&adapter->state_lock, flags); + flush_work(&adapter->ibmvnic_reset); + flush_delayed_work(&adapter->ibmvnic_delayed_reset); + rtnl_lock(); unregister_netdevice(netdev);
Ensure that all scheduled work items have completed before continuing with device removal and after further event scheduling has been halted. This patch fixes a bug where a scheduled driver reset event is processed following device removal. Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com> --- drivers/net/ethernet/ibm/ibmvnic.c | 3 +++ 1 file changed, 3 insertions(+)