]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ath9k: Cleanup ath_rc_setvalid_rates
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Fri, 10 Aug 2012 11:16:11 +0000 (16:46 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 10 Aug 2012 19:27:08 +0000 (15:27 -0400)
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/rc.c

index 49c71da9edb25c7b7b34c4ffff09ecb27f560ea7..a34f678fc57bb3dfdde20d2b17f95ca656d83d6c 100644 (file)
@@ -516,39 +516,32 @@ static u8 ath_rc_setvalid_rates(struct ath_rate_priv *ath_rc_priv)
 {
        const struct ath_rate_table *rate_table = ath_rc_priv->rate_table;
        struct ath_rateset *rateset = &ath_rc_priv->neg_rates;
-       u32 capflag = ath_rc_priv->ht_cap;
-       u8 i, j, hi = 0;
+       u32 phy, capflag = ath_rc_priv->ht_cap;
+       u16 rate_flags;
+       u8 i, j, hi = 0, rate, dot11rate, valid_rate_count;
 
        for (i = 0; i < rateset->rs_nrates; i++) {
                for (j = 0; j < rate_table->rate_cnt; j++) {
-                       u32 phy = rate_table->info[j].phy;
-                       u16 rate_flags = rate_table->info[j].rate_flags;
-                       u8 rate = rateset->rs_rates[i];
-                       u8 dot11rate = rate_table->info[j].dot11rate;
-
-                       /* We allow a rate only if its valid and the
-                        * capflag matches one of the validity
-                        * (VALID/VALID_20/VALID_40) flags */
-
-                       if ((rate == dot11rate) &&
-                           (rate_flags & WLAN_RC_CAP_MODE(capflag)) ==
-                           WLAN_RC_CAP_MODE(capflag) &&
-                           (rate_flags & WLAN_RC_CAP_STREAM(capflag)) &&
-                           !WLAN_RC_PHY_HT(phy)) {
-                               u8 valid_rate_count = 0;
-
-                               if (!ath_rc_valid_phyrate(phy, capflag, 0))
-                                       continue;
+                       phy = rate_table->info[j].phy;
+                       rate_flags = rate_table->info[j].rate_flags;
+                       rate = rateset->rs_rates[i];
+                       dot11rate = rate_table->info[j].dot11rate;
+
+                       if (rate != dot11rate
+                           || ((rate_flags & WLAN_RC_CAP_MODE(capflag)) !=
+                               WLAN_RC_CAP_MODE(capflag))
+                           || !(rate_flags & WLAN_RC_CAP_STREAM(capflag))
+                           || WLAN_RC_PHY_HT(phy))
+                               continue;
 
-                               valid_rate_count =
-                                       ath_rc_priv->valid_phy_ratecnt[phy];
+                       if (!ath_rc_valid_phyrate(phy, capflag, 0))
+                               continue;
 
-                               ath_rc_priv->valid_phy_rateidx[phy]
-                                       [valid_rate_count] = j;
-                               ath_rc_priv->valid_phy_ratecnt[phy] += 1;
-                               ath_rc_set_valid_rate_idx(ath_rc_priv, j, 1);
-                               hi = max(hi, j);
-                       }
+                       valid_rate_count = ath_rc_priv->valid_phy_ratecnt[phy];
+                       ath_rc_priv->valid_phy_rateidx[phy][valid_rate_count] = j;
+                       ath_rc_priv->valid_phy_ratecnt[phy] += 1;
+                       ath_rc_set_valid_rate_idx(ath_rc_priv, j, 1);
+                       hi = max(hi, j);
                }
        }