diff options
author | adrian <adrian@FreeBSD.org> | 2014-03-20 04:47:34 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2014-03-20 04:47:34 +0000 |
commit | 754a06c6fc9ffa8d5472e8eb24739513a9fb1ee1 (patch) | |
tree | ff4d09a3627dc17bf8e21c17ce66c7530828a62a /bin | |
parent | 6b585f6346a09fbb5eb790b89077271723e3c31e (diff) | |
download | FreeBSD-src-754a06c6fc9ffa8d5472e8eb24739513a9fb1ee1.zip FreeBSD-src-754a06c6fc9ffa8d5472e8eb24739513a9fb1ee1.tar.gz |
Don't call ath_init() inside the lock.
Yes, this means that sc_invalid is slightly racy, but there are other
issues here which need fixing.
This fixes a source of eventual LORs - ath_init() grabs ATH_LOCK to do
work and releases it before it calls ieee80211_start_all().
ieee80211_start_all() will grab the net80211 comlock to iterate over
the VAPs.
TODO:
* .. I should just migrate the ieee80211_start_all() work to a
deferred task so it can be done later; it doesn't have to be
immediately done.
Tested:
* AR5416, STA mode
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions