Browse Source

iwlwifi: use configured valid rx chain for scan

Use configured valid rx chains in scan command instead of ANT_ABC, correcting
valid rx chain configuration of 4965, should be ANT_ABC instead of ANT_AB.

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Shanyu Zhao 15 years ago
parent
commit
b23aa88367

+ 1 - 1
drivers/net/wireless/iwlwifi/iwl-4965.c

@@ -2228,7 +2228,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
 	.num_of_ampdu_queues = IWL49_NUM_AMPDU_QUEUES,
 	.num_of_ampdu_queues = IWL49_NUM_AMPDU_QUEUES,
 	.mod_params = &iwl4965_mod_params,
 	.mod_params = &iwl4965_mod_params,
 	.valid_tx_ant = ANT_AB,
 	.valid_tx_ant = ANT_AB,
-	.valid_rx_ant = ANT_AB,
+	.valid_rx_ant = ANT_ABC,
 	.pll_cfg_val = 0,
 	.pll_cfg_val = 0,
 	.set_l0s = true,
 	.set_l0s = true,
 	.use_bsm = true,
 	.use_bsm = true,

+ 1 - 1
drivers/net/wireless/iwlwifi/iwl-scan.c

@@ -749,7 +749,7 @@ static void iwl_bg_request_scan(struct work_struct *data)
 		rx_ant = first_antenna(active_chains);
 		rx_ant = first_antenna(active_chains);
 	}
 	}
 	/* MIMO is not used here, but value is required */
 	/* MIMO is not used here, but value is required */
-	rx_chain |= ANT_ABC << RXON_RX_CHAIN_VALID_POS;
+	rx_chain |= priv->hw_params.valid_rx_ant << RXON_RX_CHAIN_VALID_POS;
 	rx_chain |= rx_ant << RXON_RX_CHAIN_FORCE_MIMO_SEL_POS;
 	rx_chain |= rx_ant << RXON_RX_CHAIN_FORCE_MIMO_SEL_POS;
 	rx_chain |= rx_ant << RXON_RX_CHAIN_FORCE_SEL_POS;
 	rx_chain |= rx_ant << RXON_RX_CHAIN_FORCE_SEL_POS;
 	rx_chain |= 0x1 << RXON_RX_CHAIN_DRIVER_FORCE_POS;
 	rx_chain |= 0x1 << RXON_RX_CHAIN_DRIVER_FORCE_POS;