diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/wireless/ap.c | 9 | ||||
-rw-r--r-- | net/wireless/core.c | 2 | ||||
-rw-r--r-- | net/wireless/core.h | 2 | ||||
-rw-r--r-- | net/wireless/nl80211.c | 2 | ||||
-rw-r--r-- | net/wireless/util.c | 2 |
5 files changed, 9 insertions, 8 deletions
diff --git a/net/wireless/ap.c b/net/wireless/ap.c index 68602be07cc1..3e02ade508d8 100644 --- a/net/wireless/ap.c +++ b/net/wireless/ap.c | |||
@@ -7,7 +7,7 @@ | |||
7 | 7 | ||
8 | 8 | ||
9 | static int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev, | 9 | static int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev, |
10 | struct net_device *dev) | 10 | struct net_device *dev, bool notify) |
11 | { | 11 | { |
12 | struct wireless_dev *wdev = dev->ieee80211_ptr; | 12 | struct wireless_dev *wdev = dev->ieee80211_ptr; |
13 | int err; | 13 | int err; |
@@ -30,20 +30,21 @@ static int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev, | |||
30 | memset(&wdev->chandef, 0, sizeof(wdev->chandef)); | 30 | memset(&wdev->chandef, 0, sizeof(wdev->chandef)); |
31 | wdev->ssid_len = 0; | 31 | wdev->ssid_len = 0; |
32 | rdev_set_qos_map(rdev, dev, NULL); | 32 | rdev_set_qos_map(rdev, dev, NULL); |
33 | nl80211_send_ap_stopped(wdev); | 33 | if (notify) |
34 | nl80211_send_ap_stopped(wdev); | ||
34 | } | 35 | } |
35 | 36 | ||
36 | return err; | 37 | return err; |
37 | } | 38 | } |
38 | 39 | ||
39 | int cfg80211_stop_ap(struct cfg80211_registered_device *rdev, | 40 | int cfg80211_stop_ap(struct cfg80211_registered_device *rdev, |
40 | struct net_device *dev) | 41 | struct net_device *dev, bool notify) |
41 | { | 42 | { |
42 | struct wireless_dev *wdev = dev->ieee80211_ptr; | 43 | struct wireless_dev *wdev = dev->ieee80211_ptr; |
43 | int err; | 44 | int err; |
44 | 45 | ||
45 | wdev_lock(wdev); | 46 | wdev_lock(wdev); |
46 | err = __cfg80211_stop_ap(rdev, dev); | 47 | err = __cfg80211_stop_ap(rdev, dev, notify); |
47 | wdev_unlock(wdev); | 48 | wdev_unlock(wdev); |
48 | 49 | ||
49 | return err; | 50 | return err; |
diff --git a/net/wireless/core.c b/net/wireless/core.c index 76ae6a605abb..276cf938f764 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c | |||
@@ -783,7 +783,7 @@ void cfg80211_leave(struct cfg80211_registered_device *rdev, | |||
783 | break; | 783 | break; |
784 | case NL80211_IFTYPE_AP: | 784 | case NL80211_IFTYPE_AP: |
785 | case NL80211_IFTYPE_P2P_GO: | 785 | case NL80211_IFTYPE_P2P_GO: |
786 | cfg80211_stop_ap(rdev, dev); | 786 | cfg80211_stop_ap(rdev, dev, true); |
787 | break; | 787 | break; |
788 | default: | 788 | default: |
789 | break; | 789 | break; |
diff --git a/net/wireless/core.h b/net/wireless/core.h index 64fde38c1a7e..3975ffa8feb2 100644 --- a/net/wireless/core.h +++ b/net/wireless/core.h | |||
@@ -283,7 +283,7 @@ int cfg80211_set_mesh_channel(struct cfg80211_registered_device *rdev, | |||
283 | 283 | ||
284 | /* AP */ | 284 | /* AP */ |
285 | int cfg80211_stop_ap(struct cfg80211_registered_device *rdev, | 285 | int cfg80211_stop_ap(struct cfg80211_registered_device *rdev, |
286 | struct net_device *dev); | 286 | struct net_device *dev, bool notify); |
287 | 287 | ||
288 | /* MLME */ | 288 | /* MLME */ |
289 | int cfg80211_mlme_auth(struct cfg80211_registered_device *rdev, | 289 | int cfg80211_mlme_auth(struct cfg80211_registered_device *rdev, |
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 8fa02a3fa7f7..052c1bf8ffac 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -3332,7 +3332,7 @@ static int nl80211_stop_ap(struct sk_buff *skb, struct genl_info *info) | |||
3332 | struct cfg80211_registered_device *rdev = info->user_ptr[0]; | 3332 | struct cfg80211_registered_device *rdev = info->user_ptr[0]; |
3333 | struct net_device *dev = info->user_ptr[1]; | 3333 | struct net_device *dev = info->user_ptr[1]; |
3334 | 3334 | ||
3335 | return cfg80211_stop_ap(rdev, dev); | 3335 | return cfg80211_stop_ap(rdev, dev, false); |
3336 | } | 3336 | } |
3337 | 3337 | ||
3338 | static const struct nla_policy sta_flags_policy[NL80211_STA_FLAG_MAX + 1] = { | 3338 | static const struct nla_policy sta_flags_policy[NL80211_STA_FLAG_MAX + 1] = { |
diff --git a/net/wireless/util.c b/net/wireless/util.c index 57b3ce7a6b92..dadc934d987f 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c | |||
@@ -886,7 +886,7 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev, | |||
886 | 886 | ||
887 | switch (otype) { | 887 | switch (otype) { |
888 | case NL80211_IFTYPE_AP: | 888 | case NL80211_IFTYPE_AP: |
889 | cfg80211_stop_ap(rdev, dev); | 889 | cfg80211_stop_ap(rdev, dev, true); |
890 | break; | 890 | break; |
891 | case NL80211_IFTYPE_ADHOC: | 891 | case NL80211_IFTYPE_ADHOC: |
892 | cfg80211_leave_ibss(rdev, dev, false); | 892 | cfg80211_leave_ibss(rdev, dev, false); |