diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-03-29 16:41:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-03-29 16:41:36 -0400 |
commit | 9a574cd67a447059f9c14bbef47873315d7f7b35 (patch) | |
tree | 0ebb71d213d868d8884b1fa0e05b7393c66c665b /net/wireless/sme.c | |
parent | 689b66cb53fbb5d567aa4e095eaa828aff73aef0 (diff) | |
parent | 2e1253d640eb7f8707d2591c93097c1e9f9c71d5 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts:
net/mac80211/sta_info.c
net/wireless/core.h
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r-- | net/wireless/sme.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 88fc9aa54fe0..818ad637819a 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
@@ -85,6 +85,7 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev) | |||
85 | ASSERT_RTNL(); | 85 | ASSERT_RTNL(); |
86 | ASSERT_RDEV_LOCK(rdev); | 86 | ASSERT_RDEV_LOCK(rdev); |
87 | ASSERT_WDEV_LOCK(wdev); | 87 | ASSERT_WDEV_LOCK(wdev); |
88 | lockdep_assert_held(&rdev->sched_scan_mtx); | ||
88 | 89 | ||
89 | if (rdev->scan_req) | 90 | if (rdev->scan_req) |
90 | return -EBUSY; | 91 | return -EBUSY; |
@@ -324,11 +325,9 @@ void cfg80211_sme_scan_done(struct net_device *dev) | |||
324 | { | 325 | { |
325 | struct wireless_dev *wdev = dev->ieee80211_ptr; | 326 | struct wireless_dev *wdev = dev->ieee80211_ptr; |
326 | 327 | ||
327 | mutex_lock(&wiphy_to_dev(wdev->wiphy)->devlist_mtx); | ||
328 | wdev_lock(wdev); | 328 | wdev_lock(wdev); |
329 | __cfg80211_sme_scan_done(dev); | 329 | __cfg80211_sme_scan_done(dev); |
330 | wdev_unlock(wdev); | 330 | wdev_unlock(wdev); |
331 | mutex_unlock(&wiphy_to_dev(wdev->wiphy)->devlist_mtx); | ||
332 | } | 331 | } |
333 | 332 | ||
334 | void cfg80211_sme_rx_auth(struct net_device *dev, | 333 | void cfg80211_sme_rx_auth(struct net_device *dev, |
@@ -928,9 +927,12 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev, | |||
928 | int err; | 927 | int err; |
929 | 928 | ||
930 | mutex_lock(&rdev->devlist_mtx); | 929 | mutex_lock(&rdev->devlist_mtx); |
930 | /* might request scan - scan_mtx -> wdev_mtx dependency */ | ||
931 | mutex_lock(&rdev->sched_scan_mtx); | ||
931 | wdev_lock(dev->ieee80211_ptr); | 932 | wdev_lock(dev->ieee80211_ptr); |
932 | err = __cfg80211_connect(rdev, dev, connect, connkeys, NULL); | 933 | err = __cfg80211_connect(rdev, dev, connect, connkeys, NULL); |
933 | wdev_unlock(dev->ieee80211_ptr); | 934 | wdev_unlock(dev->ieee80211_ptr); |
935 | mutex_unlock(&rdev->sched_scan_mtx); | ||
934 | mutex_unlock(&rdev->devlist_mtx); | 936 | mutex_unlock(&rdev->devlist_mtx); |
935 | 937 | ||
936 | return err; | 938 | return err; |