aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/wext.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-04-19 13:57:45 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:57:17 -0400
commit691597cb26f236ac7471f1adf925a134c86799d6 (patch)
treee89d91e496af082711b7c0789aaf0a985e7ba964 /net/mac80211/wext.c
parentd726405af6c8c81d2ee5e6a29301c68b9d4c574f (diff)
cfg80211/mac80211: move wext SIWMLME into cfg80211
Since we have ->deauth and ->disassoc we can support the wext SIWMLME call directly without driver wext handlers. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/wext.c')
-rw-r--r--net/mac80211/wext.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c
index 1c4664b8b1a0..896704cf94e1 100644
--- a/net/mac80211/wext.c
+++ b/net/mac80211/wext.c
@@ -612,29 +612,6 @@ static int ieee80211_ioctl_giwretry(struct net_device *dev,
612 return 0; 612 return 0;
613} 613}
614 614
615static int ieee80211_ioctl_siwmlme(struct net_device *dev,
616 struct iw_request_info *info,
617 struct iw_point *data, char *extra)
618{
619 struct ieee80211_sub_if_data *sdata;
620 struct iw_mlme *mlme = (struct iw_mlme *) extra;
621
622 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
623 if (!(sdata->vif.type == NL80211_IFTYPE_STATION))
624 return -EINVAL;
625
626 switch (mlme->cmd) {
627 case IW_MLME_DEAUTH:
628 /* TODO: mlme->addr.sa_data */
629 return ieee80211_sta_deauthenticate(sdata, mlme->reason_code);
630 case IW_MLME_DISASSOC:
631 /* TODO: mlme->addr.sa_data */
632 return ieee80211_sta_disassociate(sdata, mlme->reason_code);
633 default:
634 return -EOPNOTSUPP;
635 }
636}
637
638 615
639static int ieee80211_ioctl_siwencode(struct net_device *dev, 616static int ieee80211_ioctl_siwencode(struct net_device *dev,
640 struct iw_request_info *info, 617 struct iw_request_info *info,
@@ -1076,7 +1053,7 @@ static const iw_handler ieee80211_handler[] =
1076 (iw_handler) NULL, /* SIOCGIWTHRSPY */ 1053 (iw_handler) NULL, /* SIOCGIWTHRSPY */
1077 (iw_handler) ieee80211_ioctl_siwap, /* SIOCSIWAP */ 1054 (iw_handler) ieee80211_ioctl_siwap, /* SIOCSIWAP */
1078 (iw_handler) ieee80211_ioctl_giwap, /* SIOCGIWAP */ 1055 (iw_handler) ieee80211_ioctl_giwap, /* SIOCGIWAP */
1079 (iw_handler) ieee80211_ioctl_siwmlme, /* SIOCSIWMLME */ 1056 (iw_handler) cfg80211_wext_siwmlme, /* SIOCSIWMLME */
1080 (iw_handler) NULL, /* SIOCGIWAPLIST */ 1057 (iw_handler) NULL, /* SIOCGIWAPLIST */
1081 (iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */ 1058 (iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
1082 (iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */ 1059 (iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */