diff options
author | Thomas Pedersen <thomas@cozybit.com> | 2012-11-13 13:46:27 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-11-13 15:43:55 -0500 |
commit | f4bda337bbb6e245e2a07f344990adeb6a70ff35 (patch) | |
tree | 6ccf2bc38fb67098df931ce55eb0905959813864 /drivers | |
parent | 2a91c9f781de209d420d751e43eb43ffe6934803 (diff) |
mac80211: support RX_FLAG_MACTIME_END
Allow drivers to indicate their mactime is at RX completion and adjust
for this in mac80211. Also rename the existing RX_FLAG_MACTIME_MPDU to
RX_FLAG_MACTIME_START to clarify its intent. Based on similar code by
Johannes Berg.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
[fix docs, atheros drivers]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/b43/xmit.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/b43legacy/xmit.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/main.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965-mac.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/dvm/rx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/mac80211_hwsim.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/p54/txrx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8180/dev.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8187/dev.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192de/trx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wl1251/rx.c | 2 |
17 files changed, 17 insertions, 17 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index cdd19232960c..2fd5bab2e22a 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -1349,7 +1349,7 @@ ath5k_receive_frame(struct ath5k_hw *ah, struct sk_buff *skb, | |||
1349 | * right now, so it's not too bad... | 1349 | * right now, so it's not too bad... |
1350 | */ | 1350 | */ |
1351 | rxs->mactime = ath5k_extend_tsf(ah, rs->rs_tstamp); | 1351 | rxs->mactime = ath5k_extend_tsf(ah, rs->rs_tstamp); |
1352 | rxs->flag |= RX_FLAG_MACTIME_MPDU; | 1352 | rxs->flag |= RX_FLAG_MACTIME_START; |
1353 | 1353 | ||
1354 | rxs->freq = ah->curchan->center_freq; | 1354 | rxs->freq = ah->curchan->center_freq; |
1355 | rxs->band = ah->curchan->band; | 1355 | rxs->band = ah->curchan->band; |
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c index 06cdcb772d78..e4ec98332988 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | |||
@@ -1082,7 +1082,7 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv, | |||
1082 | rx_status->freq = hw->conf.channel->center_freq; | 1082 | rx_status->freq = hw->conf.channel->center_freq; |
1083 | rx_status->signal = rxbuf->rxstatus.rs_rssi + ATH_DEFAULT_NOISE_FLOOR; | 1083 | rx_status->signal = rxbuf->rxstatus.rs_rssi + ATH_DEFAULT_NOISE_FLOOR; |
1084 | rx_status->antenna = rxbuf->rxstatus.rs_antenna; | 1084 | rx_status->antenna = rxbuf->rxstatus.rs_antenna; |
1085 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 1085 | rx_status->flag |= RX_FLAG_MACTIME_START; |
1086 | 1086 | ||
1087 | return true; | 1087 | return true; |
1088 | 1088 | ||
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index a04028bce28b..6aafbb77c498 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c | |||
@@ -976,7 +976,7 @@ static int ath9k_rx_skb_preprocess(struct ath_common *common, | |||
976 | rx_status->freq = hw->conf.channel->center_freq; | 976 | rx_status->freq = hw->conf.channel->center_freq; |
977 | rx_status->signal = ah->noise + rx_stats->rs_rssi; | 977 | rx_status->signal = ah->noise + rx_stats->rs_rssi; |
978 | rx_status->antenna = rx_stats->rs_antenna; | 978 | rx_status->antenna = rx_stats->rs_antenna; |
979 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 979 | rx_status->flag |= RX_FLAG_MACTIME_START; |
980 | if (rx_stats->rs_moreaggr) | 980 | if (rx_stats->rs_moreaggr) |
981 | rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL; | 981 | rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL; |
982 | 982 | ||
diff --git a/drivers/net/wireless/b43/xmit.c b/drivers/net/wireless/b43/xmit.c index 136510edf3cf..8cb206a89083 100644 --- a/drivers/net/wireless/b43/xmit.c +++ b/drivers/net/wireless/b43/xmit.c | |||
@@ -796,7 +796,7 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr) | |||
796 | status.mactime += mactime; | 796 | status.mactime += mactime; |
797 | if (low_mactime_now <= mactime) | 797 | if (low_mactime_now <= mactime) |
798 | status.mactime -= 0x10000; | 798 | status.mactime -= 0x10000; |
799 | status.flag |= RX_FLAG_MACTIME_MPDU; | 799 | status.flag |= RX_FLAG_MACTIME_START; |
800 | } | 800 | } |
801 | 801 | ||
802 | chanid = (chanstat & B43_RX_CHAN_ID) >> B43_RX_CHAN_ID_SHIFT; | 802 | chanid = (chanstat & B43_RX_CHAN_ID) >> B43_RX_CHAN_ID_SHIFT; |
diff --git a/drivers/net/wireless/b43legacy/xmit.c b/drivers/net/wireless/b43legacy/xmit.c index b8ffea6f5c64..849a28c80302 100644 --- a/drivers/net/wireless/b43legacy/xmit.c +++ b/drivers/net/wireless/b43legacy/xmit.c | |||
@@ -557,7 +557,7 @@ void b43legacy_rx(struct b43legacy_wldev *dev, | |||
557 | status.mactime += mactime; | 557 | status.mactime += mactime; |
558 | if (low_mactime_now <= mactime) | 558 | if (low_mactime_now <= mactime) |
559 | status.mactime -= 0x10000; | 559 | status.mactime -= 0x10000; |
560 | status.flag |= RX_FLAG_MACTIME_MPDU; | 560 | status.flag |= RX_FLAG_MACTIME_START; |
561 | } | 561 | } |
562 | 562 | ||
563 | chanid = (chanstat & B43legacy_RX_CHAN_ID) >> | 563 | chanid = (chanstat & B43legacy_RX_CHAN_ID) >> |
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c index 565c15abbed5..02363f8afd77 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c | |||
@@ -7508,7 +7508,7 @@ prep_mac80211_status(struct brcms_c_info *wlc, struct d11rxhdr *rxh, | |||
7508 | 7508 | ||
7509 | /* fill in TSF and flag its presence */ | 7509 | /* fill in TSF and flag its presence */ |
7510 | rx_status->mactime = brcms_c_recover_tsf64(wlc, rxh); | 7510 | rx_status->mactime = brcms_c_recover_tsf64(wlc, rxh); |
7511 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 7511 | rx_status->flag |= RX_FLAG_MACTIME_START; |
7512 | 7512 | ||
7513 | channel = BRCMS_CHAN_CHANNEL(rxh->RxChan); | 7513 | channel = BRCMS_CHAN_CHANNEL(rxh->RxChan); |
7514 | 7514 | ||
diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c index eac4dc8bc879..ef68b7239955 100644 --- a/drivers/net/wireless/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/iwlegacy/4965-mac.c | |||
@@ -686,7 +686,7 @@ il4965_hdl_rx(struct il_priv *il, struct il_rx_buf *rxb) | |||
686 | 686 | ||
687 | /* TSF isn't reliable. In order to allow smooth user experience, | 687 | /* TSF isn't reliable. In order to allow smooth user experience, |
688 | * this W/A doesn't propagate it to the mac80211 */ | 688 | * this W/A doesn't propagate it to the mac80211 */ |
689 | /*rx_status.flag |= RX_FLAG_MACTIME_MPDU; */ | 689 | /*rx_status.flag |= RX_FLAG_MACTIME_START; */ |
690 | 690 | ||
691 | il->ucode_beacon_time = le32_to_cpu(phy_res->beacon_time_stamp); | 691 | il->ucode_beacon_time = le32_to_cpu(phy_res->beacon_time_stamp); |
692 | 692 | ||
diff --git a/drivers/net/wireless/iwlwifi/dvm/rx.c b/drivers/net/wireless/iwlwifi/dvm/rx.c index 5a9c325804f6..ad50fb915831 100644 --- a/drivers/net/wireless/iwlwifi/dvm/rx.c +++ b/drivers/net/wireless/iwlwifi/dvm/rx.c | |||
@@ -951,7 +951,7 @@ static int iwlagn_rx_reply_rx(struct iwl_priv *priv, | |||
951 | 951 | ||
952 | /* TSF isn't reliable. In order to allow smooth user experience, | 952 | /* TSF isn't reliable. In order to allow smooth user experience, |
953 | * this W/A doesn't propagate it to the mac80211 */ | 953 | * this W/A doesn't propagate it to the mac80211 */ |
954 | /*rx_status.flag |= RX_FLAG_MACTIME_MPDU;*/ | 954 | /*rx_status.flag |= RX_FLAG_MACTIME_START;*/ |
955 | 955 | ||
956 | priv->ucode_beacon_time = le32_to_cpu(phy_res->beacon_time_stamp); | 956 | priv->ucode_beacon_time = le32_to_cpu(phy_res->beacon_time_stamp); |
957 | 957 | ||
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index a8ec7086ad09..ce522aa93af7 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c | |||
@@ -699,7 +699,7 @@ static bool mac80211_hwsim_tx_frame_no_nl(struct ieee80211_hw *hw, | |||
699 | struct ieee80211_rate *txrate = ieee80211_get_tx_rate(hw, info); | 699 | struct ieee80211_rate *txrate = ieee80211_get_tx_rate(hw, info); |
700 | 700 | ||
701 | memset(&rx_status, 0, sizeof(rx_status)); | 701 | memset(&rx_status, 0, sizeof(rx_status)); |
702 | rx_status.flag |= RX_FLAG_MACTIME_MPDU; | 702 | rx_status.flag |= RX_FLAG_MACTIME_START; |
703 | rx_status.freq = chan->center_freq; | 703 | rx_status.freq = chan->center_freq; |
704 | rx_status.band = chan->band; | 704 | rx_status.band = chan->band; |
705 | rx_status.rate_idx = info->control.rates[0].idx; | 705 | rx_status.rate_idx = info->control.rates[0].idx; |
diff --git a/drivers/net/wireless/p54/txrx.c b/drivers/net/wireless/p54/txrx.c index 5861e13a6fd8..8ae982bd7cf3 100644 --- a/drivers/net/wireless/p54/txrx.c +++ b/drivers/net/wireless/p54/txrx.c | |||
@@ -369,7 +369,7 @@ static int p54_rx_data(struct p54_common *priv, struct sk_buff *skb) | |||
369 | rx_status->mactime = ((u64)priv->tsf_high32) << 32 | tsf32; | 369 | rx_status->mactime = ((u64)priv->tsf_high32) << 32 | tsf32; |
370 | priv->tsf_low32 = tsf32; | 370 | priv->tsf_low32 = tsf32; |
371 | 371 | ||
372 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 372 | rx_status->flag |= RX_FLAG_MACTIME_START; |
373 | 373 | ||
374 | if (hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_ALIGN)) | 374 | if (hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_ALIGN)) |
375 | header_len += hdr->align[0]; | 375 | header_len += hdr->align[0]; |
diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c index 021d83e1b1d3..b4218a5f2066 100644 --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c | |||
@@ -150,7 +150,7 @@ static void rtl8180_handle_rx(struct ieee80211_hw *dev) | |||
150 | rx_status.freq = dev->conf.channel->center_freq; | 150 | rx_status.freq = dev->conf.channel->center_freq; |
151 | rx_status.band = dev->conf.channel->band; | 151 | rx_status.band = dev->conf.channel->band; |
152 | rx_status.mactime = le64_to_cpu(entry->tsft); | 152 | rx_status.mactime = le64_to_cpu(entry->tsft); |
153 | rx_status.flag |= RX_FLAG_MACTIME_MPDU; | 153 | rx_status.flag |= RX_FLAG_MACTIME_START; |
154 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) | 154 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) |
155 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; | 155 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; |
156 | 156 | ||
diff --git a/drivers/net/wireless/rtl818x/rtl8187/dev.c b/drivers/net/wireless/rtl818x/rtl8187/dev.c index 7811b6315973..52e6bebcf089 100644 --- a/drivers/net/wireless/rtl818x/rtl8187/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c | |||
@@ -381,7 +381,7 @@ static void rtl8187_rx_cb(struct urb *urb) | |||
381 | rx_status.rate_idx = rate; | 381 | rx_status.rate_idx = rate; |
382 | rx_status.freq = dev->conf.channel->center_freq; | 382 | rx_status.freq = dev->conf.channel->center_freq; |
383 | rx_status.band = dev->conf.channel->band; | 383 | rx_status.band = dev->conf.channel->band; |
384 | rx_status.flag |= RX_FLAG_MACTIME_MPDU; | 384 | rx_status.flag |= RX_FLAG_MACTIME_START; |
385 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) | 385 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) |
386 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; | 386 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; |
387 | memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status)); | 387 | memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status)); |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c index 390d6d4fcaa0..a8fecd7638f6 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | |||
@@ -567,7 +567,7 @@ bool rtl92ce_rx_query_desc(struct ieee80211_hw *hw, | |||
567 | if (GET_RX_DESC_RXHT(pdesc)) | 567 | if (GET_RX_DESC_RXHT(pdesc)) |
568 | rx_status->flag |= RX_FLAG_HT; | 568 | rx_status->flag |= RX_FLAG_HT; |
569 | 569 | ||
570 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 570 | rx_status->flag |= RX_FLAG_MACTIME_START; |
571 | 571 | ||
572 | if (stats->decrypted) | 572 | if (stats->decrypted) |
573 | rx_status->flag |= RX_FLAG_DECRYPTED; | 573 | rx_status->flag |= RX_FLAG_DECRYPTED; |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c index 6e66f04c363f..b6222eedb835 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | |||
@@ -334,7 +334,7 @@ bool rtl92cu_rx_query_desc(struct ieee80211_hw *hw, | |||
334 | rx_status->flag |= RX_FLAG_40MHZ; | 334 | rx_status->flag |= RX_FLAG_40MHZ; |
335 | if (GET_RX_DESC_RX_HT(pdesc)) | 335 | if (GET_RX_DESC_RX_HT(pdesc)) |
336 | rx_status->flag |= RX_FLAG_HT; | 336 | rx_status->flag |= RX_FLAG_HT; |
337 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 337 | rx_status->flag |= RX_FLAG_MACTIME_START; |
338 | if (stats->decrypted) | 338 | if (stats->decrypted) |
339 | rx_status->flag |= RX_FLAG_DECRYPTED; | 339 | rx_status->flag |= RX_FLAG_DECRYPTED; |
340 | rx_status->rate_idx = rtlwifi_rate_mapping(hw, | 340 | rx_status->rate_idx = rtlwifi_rate_mapping(hw, |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/trx.c b/drivers/net/wireless/rtlwifi/rtl8192de/trx.c index 4686f340b9d6..3baaf21abed4 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/trx.c | |||
@@ -514,7 +514,7 @@ bool rtl92de_rx_query_desc(struct ieee80211_hw *hw, struct rtl_stats *stats, | |||
514 | rx_status->flag |= RX_FLAG_40MHZ; | 514 | rx_status->flag |= RX_FLAG_40MHZ; |
515 | if (GET_RX_DESC_RXHT(pdesc)) | 515 | if (GET_RX_DESC_RXHT(pdesc)) |
516 | rx_status->flag |= RX_FLAG_HT; | 516 | rx_status->flag |= RX_FLAG_HT; |
517 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 517 | rx_status->flag |= RX_FLAG_MACTIME_START; |
518 | if (stats->decrypted) | 518 | if (stats->decrypted) |
519 | rx_status->flag |= RX_FLAG_DECRYPTED; | 519 | rx_status->flag |= RX_FLAG_DECRYPTED; |
520 | rx_status->rate_idx = rtlwifi_rate_mapping(hw, | 520 | rx_status->rate_idx = rtlwifi_rate_mapping(hw, |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c index e3cf4c02122a..26d027cb5069 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c | |||
@@ -554,7 +554,7 @@ bool rtl92se_rx_query_desc(struct ieee80211_hw *hw, struct rtl_stats *stats, | |||
554 | if (stats->is_ht) | 554 | if (stats->is_ht) |
555 | rx_status->flag |= RX_FLAG_HT; | 555 | rx_status->flag |= RX_FLAG_HT; |
556 | 556 | ||
557 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; | 557 | rx_status->flag |= RX_FLAG_MACTIME_START; |
558 | 558 | ||
559 | /* hw will set stats->decrypted true, if it finds the | 559 | /* hw will set stats->decrypted true, if it finds the |
560 | * frame is open data frame or mgmt frame, | 560 | * frame is open data frame or mgmt frame, |
diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c index 6af35265c900..23289d49dd31 100644 --- a/drivers/net/wireless/ti/wl1251/rx.c +++ b/drivers/net/wireless/ti/wl1251/rx.c | |||
@@ -81,7 +81,7 @@ static void wl1251_rx_status(struct wl1251 *wl, | |||
81 | status->freq = ieee80211_channel_to_frequency(desc->channel, | 81 | status->freq = ieee80211_channel_to_frequency(desc->channel, |
82 | status->band); | 82 | status->band); |
83 | 83 | ||
84 | status->flag |= RX_FLAG_MACTIME_MPDU; | 84 | status->flag |= RX_FLAG_MACTIME_START; |
85 | 85 | ||
86 | if (desc->flags & RX_DESC_ENCRYPTION_MASK) { | 86 | if (desc->flags & RX_DESC_ENCRYPTION_MASK) { |
87 | status->flag |= RX_FLAG_IV_STRIPPED | RX_FLAG_MMIC_STRIPPED; | 87 | status->flag |= RX_FLAG_IV_STRIPPED | RX_FLAG_MMIC_STRIPPED; |