Re: [rt2x00-users] [PATCH 1/3] rt2x00: Serialize TX operations on a queue.
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-05-30 09:21:55
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-05-30 09:21:55
On Mon, 2011-05-30 at 09:55 +0200, Helmut Schaa wrote:
quoted
quoted
quoted
AFAICT not all tx calls from mac80211 are protected by local_bh_disable/enable. I believe that this is the case for the "process" context tx calls fromquoted
ieee80211_subif_start_xmitThis should only be called from the network softirq and thus doesn't require bottom halves to be disabled (AFAIK).quoted
and ieee80211_monitor_start_xmit.Same here.Hmm, are you sure about this?Maybe Johannes can clarify this for us ;)
The above assertion ("not all TX calls are protected") is wrong.
Johannes, are all calls to the drivers tx callback done in softirq context or adequately protected by local_bh_disable/enable? Or is this presumption wrong?
All of them are invoked with BHs disabled. Cf. ieee80211_tx_skb(), which is the only function that can be called from process context. The _start_xmit functions listed above are called by the networking layer and always invoked with BHs disabled. johannes