diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-sta.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 13 | 
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index d86ecd2f9ec..db934476b5e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c @@ -451,7 +451,17 @@ static void iwl_sta_init_lq(struct iwl_priv *priv, const u8 *addr, bool is_ap)  	link_cmd.general_params.single_stream_ant_msk =  				first_antenna(priv->hw_params.valid_tx_ant); -	link_cmd.general_params.dual_stream_ant_msk = 3; + +	link_cmd.general_params.dual_stream_ant_msk = +		priv->hw_params.valid_tx_ant & +		~first_antenna(priv->hw_params.valid_tx_ant); +	if (!link_cmd.general_params.dual_stream_ant_msk) { +		link_cmd.general_params.dual_stream_ant_msk = ANT_AB; +	} else if (num_of_ant(priv->hw_params.valid_tx_ant) == 2) { +		link_cmd.general_params.dual_stream_ant_msk = +			priv->hw_params.valid_tx_ant; +	} +  	link_cmd.agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF;  	link_cmd.agg_params.agg_time_limit =  		cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF); @@ -1196,7 +1206,6 @@ int iwl_send_lq_cmd(struct iwl_priv *priv,  	iwl_dump_lq_cmd(priv, lq);  	BUG_ON(init && (cmd.flags & CMD_ASYNC)); -	iwl_dump_lq_cmd(priv, lq);  	ret = iwl_send_cmd(priv, &cmd);  	if (ret || (cmd.flags & CMD_ASYNC))  		return ret;  |