diff options
author | Christian Lamparter <chunkeey@googlemail.com> | 2011-02-24 16:12:20 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-25 23:32:33 +0300 |
commit | 3083e83c86e604ac7005c100b7d7242389407ba5 (patch) | |
tree | eda332de50da769ea0d4fddec5530a6c6edf0c21 /drivers/net/wireless/p54/main.c | |
parent | 41cae2d01385af4199666db57274c0df3283b065 (diff) | |
download | linux-3083e83c86e604ac7005c100b7d7242389407ba5.tar.xz |
p54: implement set_coverage_class
The callback sets slot time as specified in IEEE 802.11-2007
section 17.3.8.6 and raises round trip delay accordingly.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/p54/main.c')
-rw-r--r-- | drivers/net/wireless/p54/main.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/p54/main.c b/drivers/net/wireless/p54/main.c index e14a05bbc485..d7a92af24dd5 100644 --- a/drivers/net/wireless/p54/main.c +++ b/drivers/net/wireless/p54/main.c @@ -566,6 +566,17 @@ static void p54_flush(struct ieee80211_hw *dev, bool drop) WARN(total, "tx flush timeout, unresponsive firmware"); } +static void p54_set_coverage_class(struct ieee80211_hw *dev, u8 coverage_class) +{ + struct p54_common *priv = dev->priv; + + mutex_lock(&priv->conf_mutex); + /* support all coverage class values as in 802.11-2007 Table 7-27 */ + priv->coverage_class = clamp_t(u8, coverage_class, 0, 31); + p54_set_edcf(priv); + mutex_unlock(&priv->conf_mutex); +} + static const struct ieee80211_ops p54_ops = { .tx = p54_tx_80211, .start = p54_start, @@ -584,6 +595,7 @@ static const struct ieee80211_ops p54_ops = { .conf_tx = p54_conf_tx, .get_stats = p54_get_stats, .get_survey = p54_get_survey, + .set_coverage_class = p54_set_coverage_class, }; struct ieee80211_hw *p54_init_common(size_t priv_data_len) |