summaryrefslogtreecommitdiffstats
path: root/net/mac802154
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2015-06-13 22:15:52 +0200
committerMarcel Holtmann <marcel@holtmann.org>2015-06-15 01:22:19 +0200
commited2e627cb17d385f02d0a28fd7e564031f7769b0 (patch)
tree4db365cf6c263ff632d28c444fde36721661653c /net/mac802154
parentb4ee194441d7e4457c7bac6c2a5da8428974db5a (diff)
downloadlinux-ed2e627cb17d385f02d0a28fd7e564031f7769b0.tar.bz2
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/mac802154')
-rw-r--r--net/mac802154/iface.c1
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);
}