diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-05-15 11:44:01 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-05-24 18:02:22 -0400 |
commit | 83739b03de97049181d711c95200b94a14d3f693 (patch) | |
tree | 8a787da34dd5fcaea9da9e7bfb54f72fbe686f9e /net/wireless/nl80211.c | |
parent | 91bf9b26fc95c505846bc2f744a73b51f2aaee1d (diff) |
cfg80211: remove some locked wrappers from sme API
By making all the API functions require wdev locking we
can clean up the API a bit, getting rid of the locking
version of each function. This also decreases the size
of cfg80211 by a small amount.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r-- | net/wireless/nl80211.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 49c2f2f511dc..a09f36bb957c 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -6683,7 +6683,9 @@ static int nl80211_connect(struct sk_buff *skb, struct genl_info *info) | |||
6683 | sizeof(connect.vht_capa)); | 6683 | sizeof(connect.vht_capa)); |
6684 | } | 6684 | } |
6685 | 6685 | ||
6686 | err = cfg80211_connect(rdev, dev, &connect, connkeys); | 6686 | wdev_lock(dev->ieee80211_ptr); |
6687 | err = cfg80211_connect(rdev, dev, &connect, connkeys, NULL); | ||
6688 | wdev_unlock(dev->ieee80211_ptr); | ||
6687 | if (err) | 6689 | if (err) |
6688 | kfree(connkeys); | 6690 | kfree(connkeys); |
6689 | return err; | 6691 | return err; |
@@ -6694,6 +6696,7 @@ static int nl80211_disconnect(struct sk_buff *skb, struct genl_info *info) | |||
6694 | struct cfg80211_registered_device *rdev = info->user_ptr[0]; | 6696 | struct cfg80211_registered_device *rdev = info->user_ptr[0]; |
6695 | struct net_device *dev = info->user_ptr[1]; | 6697 | struct net_device *dev = info->user_ptr[1]; |
6696 | u16 reason; | 6698 | u16 reason; |
6699 | int ret; | ||
6697 | 6700 | ||
6698 | if (!info->attrs[NL80211_ATTR_REASON_CODE]) | 6701 | if (!info->attrs[NL80211_ATTR_REASON_CODE]) |
6699 | reason = WLAN_REASON_DEAUTH_LEAVING; | 6702 | reason = WLAN_REASON_DEAUTH_LEAVING; |
@@ -6707,7 +6710,10 @@ static int nl80211_disconnect(struct sk_buff *skb, struct genl_info *info) | |||
6707 | dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_CLIENT) | 6710 | dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_CLIENT) |
6708 | return -EOPNOTSUPP; | 6711 | return -EOPNOTSUPP; |
6709 | 6712 | ||
6710 | return cfg80211_disconnect(rdev, dev, reason, true); | 6713 | wdev_lock(dev->ieee80211_ptr); |
6714 | ret = cfg80211_disconnect(rdev, dev, reason, true); | ||
6715 | wdev_unlock(dev->ieee80211_ptr); | ||
6716 | return ret; | ||
6711 | } | 6717 | } |
6712 | 6718 | ||
6713 | static int nl80211_wiphy_netns(struct sk_buff *skb, struct genl_info *info) | 6719 | static int nl80211_wiphy_netns(struct sk_buff *skb, struct genl_info *info) |