summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorDavid Spinadel <david.spinadel@intel.com>2013-07-31 18:06:22 +0300
committerJohannes Berg <johannes.berg@intel.com>2013-08-12 14:11:42 +0200
commit52981cd79461e47fe683febfcbd3d380c72b1c6c (patch)
treea6d149e4d43930d57c81f7a2b00380b26a395307 /net/mac80211
parentfc73f11f5fa230f8c687d51b0fddb00433092ce0 (diff)
downloadlinux-stable-52981cd79461e47fe683febfcbd3d380c72b1c6c.tar.gz
linux-stable-52981cd79461e47fe683febfcbd3d380c72b1c6c.tar.bz2
linux-stable-52981cd79461e47fe683febfcbd3d380c72b1c6c.zip
mac80211: add vif to testmode cmd
Pass the wdev from cfg80211 on to the driver as the vif if given and it's valid for the driver. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/cfg.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index c77916ffe74c..7aa38ce0b524 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -2305,11 +2305,20 @@ static int ieee80211_testmode_cmd(struct wiphy *wiphy,
void *data, int len)
{
struct ieee80211_local *local = wiphy_priv(wiphy);
+ struct ieee80211_vif *vif = NULL;
if (!local->ops->testmode_cmd)
return -EOPNOTSUPP;
- return local->ops->testmode_cmd(&local->hw, data, len);
+ if (wdev) {
+ struct ieee80211_sub_if_data *sdata;
+
+ sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
+ if (sdata->flags & IEEE80211_SDATA_IN_DRIVER)
+ vif = &sdata->vif;
+ }
+
+ return local->ops->testmode_cmd(&local->hw, vif, data, len);
}
static int ieee80211_testmode_dump(struct wiphy *wiphy,