diff options
author | Arik Nemtsov <arik@wizery.com> | 2014-12-29 10:59:59 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-01-07 14:53:46 +0100 |
commit | 20658702e08ecd693236b443837d28863b93e872 (patch) | |
tree | 72350c26228cf39c5df69d0a975c05c8736f906a /net/wireless/lib80211.c | |
parent | mac80211: uninitialized return val in __ieee80211_sta_handle_tspec_ac_params (diff) | |
download | linux-20658702e08ecd693236b443837d28863b93e872.tar.xz linux-20658702e08ecd693236b443837d28863b93e872.zip |
cfg80211: fix deadlock during reg chan check
If a P2P GO is active, the cfg80211_reg_can_beacon function will take
the wdev lock, in its call to cfg80211_go_permissive_chan. But the wdev lock
is already taken by the parent channel-checking function, causing a
deadlock.
Split the checking code into two parts. The first part will check if the
wdev is active and saves the channel under the wdev lock. The second part
will check actual channel validity according to type.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/lib80211.c')
0 files changed, 0 insertions, 0 deletions