aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-rx.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-09-02 17:18:09 -0400
committerDavid S. Miller <davem@davemloft.net>2009-09-02 17:18:09 -0400
commit3f968de276a8e585deb182d4ba56013a479c80bc (patch)
treebff8932bb5e64c22708aad48a6edbef3a707a774 /drivers/net/wireless/iwlwifi/iwl-rx.c
parent5ca1b998d33c39819fca2b675d80c4469e705f2d (diff)
parentd0bec34293bb0b8dddc26d25bd46a6631d6b3ec3 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-rx.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-rx.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c
index e34d3fcb6c3d..8150c5c3a16b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-rx.c
@@ -962,6 +962,9 @@ void iwl_rx_reply_rx(struct iwl_priv *priv,
962 return; 962 return;
963 } 963 }
964 964
965 /* This will be used in several places later */
966 rate_n_flags = le32_to_cpu(phy_res->rate_n_flags);
967
965 /* rx_status carries information about the packet to mac80211 */ 968 /* rx_status carries information about the packet to mac80211 */
966 rx_status.mactime = le64_to_cpu(phy_res->timestamp); 969 rx_status.mactime = le64_to_cpu(phy_res->timestamp);
967 rx_status.freq = 970 rx_status.freq =
@@ -969,10 +972,7 @@ void iwl_rx_reply_rx(struct iwl_priv *priv,
969 rx_status.band = (phy_res->phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? 972 rx_status.band = (phy_res->phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ?
970 IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ; 973 IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
971 rx_status.rate_idx = 974 rx_status.rate_idx =
972 iwl_hwrate_to_plcp_idx(le32_to_cpu(phy_res->rate_n_flags)); 975 iwl_hwrate_to_mac80211_idx(rate_n_flags, rx_status.band);
973 if (rx_status.band == IEEE80211_BAND_5GHZ)
974 rx_status.rate_idx -= IWL_FIRST_OFDM_RATE;
975
976 rx_status.flag = 0; 976 rx_status.flag = 0;
977 977
978 /* TSF isn't reliable. In order to allow smooth user experience, 978 /* TSF isn't reliable. In order to allow smooth user experience,
@@ -1034,7 +1034,6 @@ void iwl_rx_reply_rx(struct iwl_priv *priv,
1034 rx_status.flag |= RX_FLAG_SHORTPRE; 1034 rx_status.flag |= RX_FLAG_SHORTPRE;
1035 1035
1036 /* Set up the HT phy flags */ 1036 /* Set up the HT phy flags */
1037 rate_n_flags = le32_to_cpu(phy_res->rate_n_flags);
1038 if (rate_n_flags & RATE_MCS_HT_MSK) 1037 if (rate_n_flags & RATE_MCS_HT_MSK)
1039 rx_status.flag |= RX_FLAG_HT; 1038 rx_status.flag |= RX_FLAG_HT;
1040 if (rate_n_flags & RATE_MCS_HT40_MSK) 1039 if (rate_n_flags & RATE_MCS_HT40_MSK)