Commit 088aab8b authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by John W. Linville

mwl8k: add the AP version of USE_FIXED_RATE

As with the STA version, unicast will use auto rate adaptation, but
the AP version allows setting the rates to be used for management and
multicast transmissions, which can be set based on the BSS basic rate
set.
Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b71ed2c6
...@@ -2523,6 +2523,47 @@ static int mwl8k_cmd_use_fixed_rate_sta(struct ieee80211_hw *hw) ...@@ -2523,6 +2523,47 @@ static int mwl8k_cmd_use_fixed_rate_sta(struct ieee80211_hw *hw)
return rc; return rc;
} }
/*
* CMD_USE_FIXED_RATE (AP version).
*/
struct mwl8k_cmd_use_fixed_rate_ap {
struct mwl8k_cmd_pkt header;
__le32 action;
__le32 allow_rate_drop;
__le32 num_rates;
struct mwl8k_rate_entry_ap {
__le32 is_ht_rate;
__le32 enable_retry;
__le32 rate;
__le32 retry_count;
} rate_entry[4];
u8 multicast_rate;
u8 multicast_rate_type;
u8 management_rate;
} __attribute__((packed));
static int
mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt)
{
struct mwl8k_cmd_use_fixed_rate_ap *cmd;
int rc;
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (cmd == NULL)
return -ENOMEM;
cmd->header.code = cpu_to_le16(MWL8K_CMD_USE_FIXED_RATE);
cmd->header.length = cpu_to_le16(sizeof(*cmd));
cmd->action = cpu_to_le32(MWL8K_USE_AUTO_RATE);
cmd->multicast_rate = mcast;
cmd->management_rate = mgmt;
rc = mwl8k_post_cmd(hw, &cmd->header);
kfree(cmd);
return rc;
}
/* /*
* CMD_ENABLE_SNIFFER. * CMD_ENABLE_SNIFFER.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment