diff options
author | David Spinadel <david.spinadel@intel.com> | 2013-07-31 18:06:22 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-08-12 14:11:42 +0200 |
commit | 52981cd79461e47fe683febfcbd3d380c72b1c6c (patch) | |
tree | a6d149e4d43930d57c81f7a2b00380b26a395307 /net/mac80211 | |
parent | fc73f11f5fa230f8c687d51b0fddb00433092ce0 (diff) | |
download | linux-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.c | 11 |
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, |