iwlwifi: iwl-agn-rs: initialize rs with valid antenna
authorWinkler, Tomas <tomas.winkler@intel.com>
Wed, 29 Oct 2008 21:05:48 +0000 (14:05 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 10 Nov 2008 20:17:38 +0000 (15:17 -0500)
This patch fix rate scaling initialization. Rate scaling
was initialized always with B antenna.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-agn-rs.c

index f5e94b6..0332805 100644 (file)
@@ -2071,15 +2071,13 @@ static void rs_initialize_lq(struct iwl_priv *priv,
        if ((i < 0) || (i >= IWL_RATE_COUNT))
                i = 0;
 
-       /* FIXME:RS: This is also wrong in 4965 */
        rate = iwl_rates[i].plcp;
-       rate |= RATE_MCS_ANT_B_MSK;
-       rate &= ~RATE_MCS_ANT_A_MSK;
+       tbl->ant_type = first_antenna(valid_tx_ant);
+       rate |= tbl->ant_type << RATE_MCS_ANT_POS;
 
        if (i >= IWL_FIRST_CCK_RATE && i <= IWL_LAST_CCK_RATE)
                rate |= RATE_MCS_CCK_MSK;
 
-       tbl->ant_type = ANT_B;
        rs_get_tbl_info_from_mcs(rate, priv->band, tbl, &rate_idx);
        if (!rs_is_valid_ant(valid_tx_ant, tbl->ant_type))
            rs_toggle_antenna(valid_tx_ant, &rate, tbl);