Thread (4 messages) 4 messages, 3 authors, 2011-05-30

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

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 from
quoted
ieee80211_subif_start_xmit
This 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help