aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-04-19 12:18:19 +0200
committerJohannes Berg <johannes.berg@intel.com>2013-04-22 15:31:47 +0200
commit65e8d5b8cbff766628dad7d366986676f18b1e89 (patch)
tree37c419fe76204707e4bb18578ab535c7b94ce4d7 /net/wireless/nl80211.c
parentMerge remote-tracking branch 'wireless-next/master' into mac80211-next (diff)
downloadlinux-dev-65e8d5b8cbff766628dad7d366986676f18b1e89.tar.xz
linux-dev-65e8d5b8cbff766628dad7d366986676f18b1e89.zip
cfg80211: fix P2P-Device stop locking
cfg80211_stop_p2p_device() requires the devlist_mtx to be held, but nl80211_stop_p2p_device() doesn't acquire it which is a locking error and causes a warning (when lockdep is enabled). Fix this. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 212d2aa7a1c5..3abcbbada6d4 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -8159,9 +8159,11 @@ static int nl80211_stop_p2p_device(struct sk_buff *skb, struct genl_info *info)
if (!rdev->ops->stop_p2p_device)
return -EOPNOTSUPP;
+ mutex_lock(&rdev->devlist_mtx);
mutex_lock(&rdev->sched_scan_mtx);
cfg80211_stop_p2p_device(rdev, wdev);
mutex_unlock(&rdev->sched_scan_mtx);
+ mutex_unlock(&rdev->devlist_mtx);
return 0;
}