iwlwifi: find the correct first antenna
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 11 Sep 2009 17:38:18 +0000 (10:38 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 14 Sep 2009 18:36:05 +0000 (14:36 -0400)
We can not assume antenna "A" is the first valid anttena for
all the NIC. Need to make sure choice the correct antenna based on
h/w configuration for transmit to avoid sending frame on invalid
antenna

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>
drivers/net/wireless/iwlwifi/iwl-agn-rs.c

index fd73153..346dc06 100644 (file)
@@ -760,6 +760,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
        u16 high_low;
        u8 switch_to_legacy = 0;
        u8 is_green = lq_sta->is_green;
+       struct iwl_priv *priv = lq_sta->drv;
 
        /* check if we need to switch from HT to legacy rates.
         * assumption is that mandatory rates (1Mbps or 6Mbps)
@@ -773,7 +774,8 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
                        tbl->lq_type = LQ_G;
 
                if (num_of_ant(tbl->ant_type) > 1)
-                       tbl->ant_type = ANT_A;/*FIXME:RS*/
+                       tbl->ant_type =
+                               first_antenna(priv->hw_params.valid_tx_ant);
 
                tbl->is_ht40 = 0;
                tbl->is_SGI = 0;