diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-04-10 10:39:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-10 10:39:27 -0400 |
commit | d3641409a05dcb8e28116bb2ad638f5a42805d9d (patch) | |
tree | 1d43a5e0129709502edb631a4fd66de369ee5620 /net/wireless | |
parent | 953c96e0d85615d1ab1f100e525d376053294dc2 (diff) | |
parent | 6fe5468f452c0c40348ebd4e737758a842286ca8 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Conflicts:
drivers/net/wireless/rt2x00/rt2x00pci.c
net/mac80211/sta_info.c
net/wireless/core.h
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/core.c | 4 | ||||
-rw-r--r-- | net/wireless/core.h | 2 | ||||
-rw-r--r-- | net/wireless/sme.c | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index 00be55530a32..84c9ad7e1dca 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c | |||
@@ -1126,8 +1126,10 @@ static int __init cfg80211_init(void) | |||
1126 | goto out_fail_reg; | 1126 | goto out_fail_reg; |
1127 | 1127 | ||
1128 | cfg80211_wq = create_singlethread_workqueue("cfg80211"); | 1128 | cfg80211_wq = create_singlethread_workqueue("cfg80211"); |
1129 | if (!cfg80211_wq) | 1129 | if (!cfg80211_wq) { |
1130 | err = -ENOMEM; | ||
1130 | goto out_fail_wq; | 1131 | goto out_fail_wq; |
1132 | } | ||
1131 | 1133 | ||
1132 | return 0; | 1134 | return 0; |
1133 | 1135 | ||
diff --git a/net/wireless/core.h b/net/wireless/core.h index b5174f65cc9a..124e5e773fbc 100644 --- a/net/wireless/core.h +++ b/net/wireless/core.h | |||
@@ -500,14 +500,12 @@ int cfg80211_validate_beacon_int(struct cfg80211_registered_device *rdev, | |||
500 | void cfg80211_update_iface_num(struct cfg80211_registered_device *rdev, | 500 | void cfg80211_update_iface_num(struct cfg80211_registered_device *rdev, |
501 | enum nl80211_iftype iftype, int num); | 501 | enum nl80211_iftype iftype, int num); |
502 | 502 | ||
503 | |||
504 | void cfg80211_leave(struct cfg80211_registered_device *rdev, | 503 | void cfg80211_leave(struct cfg80211_registered_device *rdev, |
505 | struct wireless_dev *wdev); | 504 | struct wireless_dev *wdev); |
506 | 505 | ||
507 | void cfg80211_stop_p2p_device(struct cfg80211_registered_device *rdev, | 506 | void cfg80211_stop_p2p_device(struct cfg80211_registered_device *rdev, |
508 | struct wireless_dev *wdev); | 507 | struct wireless_dev *wdev); |
509 | 508 | ||
510 | |||
511 | #define CFG80211_MAX_NUM_DIFFERENT_CHANNELS 10 | 509 | #define CFG80211_MAX_NUM_DIFFERENT_CHANNELS 10 |
512 | 510 | ||
513 | #ifdef CONFIG_CFG80211_DEVELOPER_WARNINGS | 511 | #ifdef CONFIG_CFG80211_DEVELOPER_WARNINGS |
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index ff6f7ae35586..a9dc5c736df0 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
@@ -228,6 +228,7 @@ void cfg80211_conn_work(struct work_struct *work) | |||
228 | rtnl_lock(); | 228 | rtnl_lock(); |
229 | cfg80211_lock_rdev(rdev); | 229 | cfg80211_lock_rdev(rdev); |
230 | mutex_lock(&rdev->devlist_mtx); | 230 | mutex_lock(&rdev->devlist_mtx); |
231 | mutex_lock(&rdev->sched_scan_mtx); | ||
231 | 232 | ||
232 | list_for_each_entry(wdev, &rdev->wdev_list, list) { | 233 | list_for_each_entry(wdev, &rdev->wdev_list, list) { |
233 | wdev_lock(wdev); | 234 | wdev_lock(wdev); |
@@ -235,7 +236,7 @@ void cfg80211_conn_work(struct work_struct *work) | |||
235 | wdev_unlock(wdev); | 236 | wdev_unlock(wdev); |
236 | continue; | 237 | continue; |
237 | } | 238 | } |
238 | if (wdev->sme_state != CFG80211_SME_CONNECTING) { | 239 | if (wdev->sme_state != CFG80211_SME_CONNECTING || !wdev->conn) { |
239 | wdev_unlock(wdev); | 240 | wdev_unlock(wdev); |
240 | continue; | 241 | continue; |
241 | } | 242 | } |
@@ -252,6 +253,7 @@ void cfg80211_conn_work(struct work_struct *work) | |||
252 | wdev_unlock(wdev); | 253 | wdev_unlock(wdev); |
253 | } | 254 | } |
254 | 255 | ||
256 | mutex_unlock(&rdev->sched_scan_mtx); | ||
255 | mutex_unlock(&rdev->devlist_mtx); | 257 | mutex_unlock(&rdev->devlist_mtx); |
256 | cfg80211_unlock_rdev(rdev); | 258 | cfg80211_unlock_rdev(rdev); |
257 | rtnl_unlock(); | 259 | rtnl_unlock(); |