rsi: fix for 40MHZ connection issue.

Radio capabilities packet is not prepared properly for 40MHZ case,
ppe_ack_rate is a two byte variable which is initialized wrongly,
hence we are unable to connect, resolved by assigning it properly.

Signed-off-by: Ganapathi Raju <ganapathi.kondraju@redpinesignals.com>
Signed-off-by: Sushant Kumar Mishra <sushant.mishra@redpinesignals.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Ganapathi Raju 2018-07-05 18:08:20 +05:30 committed by Kalle Valo
parent 92e9712381
commit 38709316d1

View File

@ -334,20 +334,17 @@ static int rsi_load_radio_caps(struct rsi_common *common)
struct ieee80211_conf *conf = &hw->conf;
if (conf_is_ht40_plus(conf)) {
radio_caps->radio_cfg_info =
RSI_CMDDESC_LOWER_20_ENABLE;
radio_caps->radio_info =
RSI_CMDDESC_LOWER_20_ENABLE;
radio_caps->ppe_ack_rate =
cpu_to_le16(LOWER_20_ENABLE |
(LOWER_20_ENABLE >> 12));
} else if (conf_is_ht40_minus(conf)) {
radio_caps->radio_cfg_info =
RSI_CMDDESC_UPPER_20_ENABLE;
radio_caps->radio_info =
RSI_CMDDESC_UPPER_20_ENABLE;
radio_caps->ppe_ack_rate =
cpu_to_le16(UPPER_20_ENABLE |
(UPPER_20_ENABLE >> 12));
} else {
radio_caps->radio_cfg_info =
RSI_CMDDESC_40MHZ;
radio_caps->radio_info =
RSI_CMDDESC_FULL_40_ENABLE;
radio_caps->ppe_ack_rate =
cpu_to_le16((BW_40MHZ << 12) |
FULL40M_ENABLE);
}
}
}