aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2013-08-09 15:06:28 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-08-09 15:06:28 -0400
commit4f0544489215fc78cccb96f8e3d0f078ae965297 (patch)
tree69e71db0cf005a68ab1b70f33ae0462fd94152fc /net/wireless
parent2952f6ef5195ea76279f7370f0a6571867e54438 (diff)
parent5a6e0cf70743f30c17ccb5f228db9a124b0e7477 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/core.c1
-rw-r--r--net/wireless/nl80211.c6
-rw-r--r--net/wireless/reg.c5
3 files changed, 9 insertions, 3 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c
index 389a3f2ee464..67153964aad2 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -774,6 +774,7 @@ void cfg80211_leave(struct cfg80211_registered_device *rdev,
774 cfg80211_leave_mesh(rdev, dev); 774 cfg80211_leave_mesh(rdev, dev);
775 break; 775 break;
776 case NL80211_IFTYPE_AP: 776 case NL80211_IFTYPE_AP:
777 case NL80211_IFTYPE_P2P_GO:
777 cfg80211_stop_ap(rdev, dev); 778 cfg80211_stop_ap(rdev, dev);
778 break; 779 break;
779 default: 780 default:
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 160c1f7c6091..587ff843cf94 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -449,10 +449,12 @@ static int nl80211_prepare_wdev_dump(struct sk_buff *skb,
449 goto out_unlock; 449 goto out_unlock;
450 } 450 }
451 *rdev = wiphy_to_dev((*wdev)->wiphy); 451 *rdev = wiphy_to_dev((*wdev)->wiphy);
452 cb->args[0] = (*rdev)->wiphy_idx; 452 /* 0 is the first index - add 1 to parse only once */
453 cb->args[0] = (*rdev)->wiphy_idx + 1;
453 cb->args[1] = (*wdev)->identifier; 454 cb->args[1] = (*wdev)->identifier;
454 } else { 455 } else {
455 struct wiphy *wiphy = wiphy_idx_to_wiphy(cb->args[0]); 456 /* subtract the 1 again here */
457 struct wiphy *wiphy = wiphy_idx_to_wiphy(cb->args[0] - 1);
456 struct wireless_dev *tmp; 458 struct wireless_dev *tmp;
457 459
458 if (!wiphy) { 460 if (!wiphy) {
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 5a950f36bae4..de06d5d1287f 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -2247,10 +2247,13 @@ int reg_device_uevent(struct device *dev, struct kobj_uevent_env *env)
2247 2247
2248void wiphy_regulatory_register(struct wiphy *wiphy) 2248void wiphy_regulatory_register(struct wiphy *wiphy)
2249{ 2249{
2250 struct regulatory_request *lr;
2251
2250 if (!reg_dev_ignore_cell_hint(wiphy)) 2252 if (!reg_dev_ignore_cell_hint(wiphy))
2251 reg_num_devs_support_basehint++; 2253 reg_num_devs_support_basehint++;
2252 2254
2253 wiphy_update_regulatory(wiphy, NL80211_REGDOM_SET_BY_CORE); 2255 lr = get_last_request();
2256 wiphy_update_regulatory(wiphy, lr->initiator);
2254} 2257}
2255 2258
2256void wiphy_regulatory_deregister(struct wiphy *wiphy) 2259void wiphy_regulatory_deregister(struct wiphy *wiphy)