diff options
author | Alexander Aring <alex.aring@gmail.com> | 2015-12-09 23:23:56 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-12-10 19:17:11 +0100 |
commit | c38383530fb5e160b739aff4bf08c1cc2dfcc659 (patch) | |
tree | 246187f351c775f493ebfff55fc61c880e3541fe /net/mac802154/driver-ops.h | |
parent | 818f1f3e70dd4c8e6f8d59c617857be0fa0fce7c (diff) | |
download | blackbird-op-linux-c38383530fb5e160b739aff4bf08c1cc2dfcc659.tar.gz blackbird-op-linux-c38383530fb5e160b739aff4bf08c1cc2dfcc659.zip |
mac802154: tx: fix synced xmit deadlock
This patch reverts 6001d52 ("mac802154: tx: don't allow if down while
sync tx"). This has side effects with stop callback which flush the
transmit workqueue. The stop callback will wait until the workqueue is
flushed and holding the rtnl lock. That means it can happen that the stop
callback waits forever because it try to lock the rtnl mutex which is
already hold by stop callback.
Cc: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/mac802154/driver-ops.h')
-rw-r--r-- | net/mac802154/driver-ops.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/net/mac802154/driver-ops.h b/net/mac802154/driver-ops.h index 0550f3365e33..fd9daf2ecec9 100644 --- a/net/mac802154/driver-ops.h +++ b/net/mac802154/driver-ops.h @@ -18,9 +18,6 @@ drv_xmit_async(struct ieee802154_local *local, struct sk_buff *skb) static inline int drv_xmit_sync(struct ieee802154_local *local, struct sk_buff *skb) { - /* don't allow other operations while sync xmit */ - ASSERT_RTNL(); - might_sleep(); return local->ops->xmit_sync(&local->hw, skb); |