diff options
author | David Lin <dlin@marvell.com> | 2016-08-23 10:56:19 +0800 |
---|---|---|
committer | David Lin <dlin@marvell.com> | 2016-08-23 10:58:46 +0800 |
commit | cc0785f5d5402c42d10044ab12c7f8b69da2d0e2 (patch) | |
tree | f6dce88e559c22bb3e773752c2738ddd376f7307 | |
parent | 96ccfb346017a65d85043aa859249e6c33cbe36e (diff) |
Corrected WMM parameters setting.
1. Settings of CW_MIN and CW_MAX are not correct.
2. Settings for BE and BK are swapped. It will affect throughput under
noise environment.
Signed-off-by: David Lin <dlin@marvell.com>
-rw-r--r-- | fwcmd.c | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -1473,20 +1473,11 @@ int mwl_fwcmd_set_edca_params(struct ieee80211_hw *hw, u8 index, pcmd->action = cpu_to_le16(0xffff); pcmd->txop = cpu_to_le16(txop); - pcmd->cw_max = cpu_to_le32(ilog2(cw_max + 1)); - pcmd->cw_min = cpu_to_le32(ilog2(cw_min + 1)); + pcmd->cw_max = cpu_to_le32(cw_max); + pcmd->cw_min = cpu_to_le32(cw_min); pcmd->aifsn = aifs; pcmd->txq_num = index; - /* The array index defined in qos.h has a reversed bk and be. - * The HW queue was not used this way; the qos code needs to - * be changed or checked - */ - if (index == 0) - pcmd->txq_num = 1; - else if (index == 1) - pcmd->txq_num = 0; - if (mwl_fwcmd_exec_cmd(priv, HOSTCMD_CMD_SET_EDCA_PARAMS)) { mutex_unlock(&priv->fwcmd_mutex); wiphy_err(hw->wiphy, "failed execution\n"); |