]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: allow TDLS setup code to take wdev lock
authorArik Nemtsov <arik@wizery.com>
Sun, 1 Mar 2015 07:10:09 +0000 (09:10 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 4 Mar 2015 09:34:10 +0000 (10:34 +0100)
commit431011b993627cca5b662ff9997260aaa7db0b12
treee2ba955bb3a1ff3fc6fa88423535201d2f07b168
parent24984f0a3388be51bd5d3397f5421884daf7e327
mac80211: allow TDLS setup code to take wdev lock

TDLS off-channel can be allowed in channels marked with GO_CONCURRENT,
provided the device is connected to an AP on the same UNII.
When relaxing the NO-IR requirements for TDLS, we might hit flows in
cfg80211_reg_can_beacon that acquire the wdev lock. Take some measures
to allow this during TDLS setup.
Acquire the RCU read lock later in the flow that invokes
cfg80211_reg_can_beacon.
Avoid taking local->mtx when preparing the setup packet to avoid
circular deadlocks with mac80211 code that is invoked with wdev-mtx
held.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/tdls.c