summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEliad Peller2011-09-25 19:06:53 +0200
committerJohn W. Linville2011-09-27 20:34:11 +0200
commitf70f01c2ebbe31fbd8a96be3b45c5620dac45b96 (patch)
tree4052a95a6ec1ab8fa51bfc1f8bae831d8aa5e592
parentmac80211: Send the management frame at requested rate (diff)
downloadkernel-qcow2-linux-f70f01c2ebbe31fbd8a96be3b45c5620dac45b96.tar.gz
kernel-qcow2-linux-f70f01c2ebbe31fbd8a96be3b45c5620dac45b96.tar.xz
kernel-qcow2-linux-f70f01c2ebbe31fbd8a96be3b45c5620dac45b96.zip
cfg80211/mac80211: add netdev param to set_txq_params()
tx params are currently configured per hw, although they should be configured per interface. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--include/net/cfg80211.h2
-rw-r--r--net/mac80211/cfg.c1
-rw-r--r--net/wireless/nl80211.c6
3 files changed, 8 insertions, 1 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index c1dd56b7cce5..31d823a3092b 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1486,7 +1486,7 @@ struct cfg80211_ops {
int (*change_bss)(struct wiphy *wiphy, struct net_device *dev,
struct bss_parameters *params);
- int (*set_txq_params)(struct wiphy *wiphy,
+ int (*set_txq_params)(struct wiphy *wiphy, struct net_device *dev,
struct ieee80211_txq_params *params);
int (*set_channel)(struct wiphy *wiphy, struct net_device *dev,
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 56c35041ba97..726fb8819b43 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1271,6 +1271,7 @@ static int ieee80211_change_bss(struct wiphy *wiphy,
}
static int ieee80211_set_txq_params(struct wiphy *wiphy,
+ struct net_device *dev,
struct ieee80211_txq_params *params)
{
struct ieee80211_local *local = wiphy_priv(wiphy);
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 48c1bf1a142d..74d16192fbf0 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -1236,6 +1236,11 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
goto bad_res;
}
+ if (!netdev) {
+ result = -EINVAL;
+ goto bad_res;
+ }
+
nla_for_each_nested(nl_txq_params,
info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS],
rem_txq_params) {
@@ -1248,6 +1253,7 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
goto bad_res;
result = rdev->ops->set_txq_params(&rdev->wiphy,
+ netdev,
&txq_params);
if (result)
goto bad_res;