ath9k_htc: use ath9k_cmn_process_rate
authorOleksij Rempel <linux@rempel-privat.de>
Tue, 4 Feb 2014 09:27:44 +0000 (10:27 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 12 Feb 2014 20:35:59 +0000 (15:35 -0500)
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c

index fcf7f5a..6bd7ef8 100644 (file)
@@ -929,42 +929,6 @@ void ath9k_host_rx_init(struct ath9k_htc_priv *priv)
        ath9k_hw_startpcureceive(priv->ah, test_bit(OP_SCANNING, &priv->op_flags));
 }
 
-static void ath9k_process_rate(struct ieee80211_hw *hw,
-                              struct ieee80211_rx_status *rxs,
-                              u8 rx_rate, u8 rs_flags)
-{
-       struct ieee80211_supported_band *sband;
-       enum ieee80211_band band;
-       unsigned int i = 0;
-
-       if (rx_rate & 0x80) {
-               /* HT rate */
-               rxs->flag |= RX_FLAG_HT;
-               if (rs_flags & ATH9K_RX_2040)
-                       rxs->flag |= RX_FLAG_40MHZ;
-               if (rs_flags & ATH9K_RX_GI)
-                       rxs->flag |= RX_FLAG_SHORT_GI;
-               rxs->rate_idx = rx_rate & 0x7f;
-               return;
-       }
-
-       band = hw->conf.chandef.chan->band;
-       sband = hw->wiphy->bands[band];
-
-       for (i = 0; i < sband->n_bitrates; i++) {
-               if (sband->bitrates[i].hw_value == rx_rate) {
-                       rxs->rate_idx = i;
-                       return;
-               }
-               if (sband->bitrates[i].hw_value_short == rx_rate) {
-                       rxs->rate_idx = i;
-                       rxs->flag |= RX_FLAG_SHORTPRE;
-                       return;
-               }
-       }
-
-}
-
 static inline void convert_htc_flag(struct ath_rx_status *rx_stats,
                                   struct ath_htc_rx_status *rxstatus)
 {
@@ -1099,9 +1063,9 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
                }
        }
 
-       ath9k_process_rate(hw, rx_status, rxbuf->rxstatus.rs_rate,
-                          rxbuf->rxstatus.rs_flags);
 
+       if (ath9k_cmn_process_rate(common, hw, &rx_stats, rx_status))
+               goto rx_next;
 
        rx_stats.is_mybeacon = ath_is_mybeacon(common, hdr);
        ath9k_cmn_process_rssi(common, hw, &rx_stats, rx_status);