Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd017f25 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by John W. Linville
Browse files

iwlagn: fix scan tx antenna setting on 5Ghz band



Looks that we do not set correctly antennas when scanning
on 5Ghz band and when bluetooth is enabled, because
priv->cfg->scan_tx_antennas[band] is only defined for
IEEE80211_BAND_2GHZ.

To fix we check band before limiting antennas to first one.
This allow to remove hard coded cfg->scan_tx_antennas[band].

Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Acked-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent cd2c5486
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -596,12 +596,7 @@ struct iwl_cfg iwl6005_2bg_cfg = {
	.need_dc_calib = true,					\
	.need_temp_offset_calib = true,				\
	.led_mode = IWL_LED_RF_STATE,				\
	.adv_pm = true,						\
	/*							\
	 *Due to bluetooth, we transmit 2.4 GHz probes		\
	 * only on antenna A					\
	 */							\
	.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A
	.adv_pm = true						\

struct iwl_cfg iwl6030_2agn_cfg = {
	.name = "Intel(R) Centrino(R) Advanced-N 6230 AGN",
+5 −9
Original line number Diff line number Diff line
@@ -1492,15 +1492,11 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
	if (priv->cfg->scan_rx_antennas[band])
		rx_ant = priv->cfg->scan_rx_antennas[band];

	if (priv->cfg->scan_tx_antennas[band])
		scan_tx_antennas = priv->cfg->scan_tx_antennas[band];

	if (priv->cfg->bt_params &&
	    priv->cfg->bt_params->advanced_bt_coexist &&
	    priv->bt_full_concurrent) {
		/* operated as 1x1 in full concurrency mode */
		scan_tx_antennas = first_antenna(
			priv->cfg->scan_tx_antennas[band]);
	if (band == IEEE80211_BAND_2GHZ &&
	    priv->cfg->bt_params &&
	    priv->cfg->bt_params->advanced_bt_coexist) {
		/* transmit 2.4 GHz probes only on first antenna */
		scan_tx_antennas = first_antenna(scan_tx_antennas);
	}

	priv->scan_tx_ant[band] = iwl_toggle_tx_ant(priv, priv->scan_tx_ant[band],
+0 −1
Original line number Diff line number Diff line
@@ -411,7 +411,6 @@ struct iwl_cfg {
	const bool need_dc_calib;	  /* if used set to true */
	const bool need_temp_offset_calib; /* if used set to true */
	u8 scan_rx_antennas[IEEE80211_NUM_BANDS];
	u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
	enum iwl_led_mode led_mode;
	const bool adv_pm;
	const bool rx_with_siso_diversity;