mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-19 07:27:50 +00:00
[PATCH] IPoIB: fix module removal race
Since ipoib uses queue_delayed_work to run flush task on port state events, it must flush scheduled work after unregistering the event handler. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
6c0741fbde
commit
51574e0398
@ -1005,6 +1005,7 @@ debug_failed:
|
||||
|
||||
register_failed:
|
||||
ib_unregister_event_handler(&priv->event_handler);
|
||||
flush_scheduled_work();
|
||||
|
||||
event_failed:
|
||||
ipoib_dev_cleanup(priv->dev);
|
||||
@ -1057,6 +1058,7 @@ static void ipoib_remove_one(struct ib_device *device)
|
||||
|
||||
list_for_each_entry_safe(priv, tmp, dev_list, list) {
|
||||
ib_unregister_event_handler(&priv->event_handler);
|
||||
flush_scheduled_work();
|
||||
|
||||
unregister_netdev(priv->dev);
|
||||
ipoib_dev_cleanup(priv->dev);
|
||||
|
Loading…
Reference in New Issue
Block a user