diff options
author | Alexander Aring <alex.aring@gmail.com> | 2015-06-13 22:15:52 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-06-15 01:22:19 +0200 |
commit | ed2e627cb17d385f02d0a28fd7e564031f7769b0 (patch) | |
tree | 4db365cf6c263ff632d28c444fde36721661653c /net | |
parent | mac802154: iface: fix hrtimer cancel on ifdown (diff) | |
download | linux-ed2e627cb17d385f02d0a28fd7e564031f7769b0.tar.xz linux-ed2e627cb17d385f02d0a28fd7e564031f7769b0.zip |
mac802154: iface: flush workqueue before stop
This patch flushs the workqueue which is currently used for xmit_sync
callback before calling stop driver-ops. Flush the queue will ensure all
pending tx frames are transmitted.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac802154/iface.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c index d8043378e7a0..692731d240e4 100644 --- a/net/mac802154/iface.c +++ b/net/mac802154/iface.c @@ -308,6 +308,7 @@ static int mac802154_slave_close(struct net_device *dev) clear_bit(SDATA_STATE_RUNNING, &sdata->state); if (!local->open_count) { + flush_workqueue(local->workqueue); hrtimer_cancel(&local->ifs_timer); drv_stop(local); } |