aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ipw2200.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index b2e144b7f4a0..26998b5157ea 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -7656,7 +7656,8 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv,
7656 7656
7657 /* Big bitfield of all the fields we provide in radiotap */ 7657 /* Big bitfield of all the fields we provide in radiotap */
7658 ipw_rt->rt_hdr.it_present = 7658 ipw_rt->rt_hdr.it_present =
7659 ((1 << IEEE80211_RADIOTAP_FLAGS) | 7659 ((1 << IEEE80211_RADIOTAP_TSFT) |
7660 (1 << IEEE80211_RADIOTAP_FLAGS) |
7660 (1 << IEEE80211_RADIOTAP_RATE) | 7661 (1 << IEEE80211_RADIOTAP_RATE) |
7661 (1 << IEEE80211_RADIOTAP_CHANNEL) | 7662 (1 << IEEE80211_RADIOTAP_CHANNEL) |
7662 (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | 7663 (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) |
@@ -7665,10 +7666,14 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv,
7665 7666
7666 /* Zero the flags, we'll add to them as we go */ 7667 /* Zero the flags, we'll add to them as we go */
7667 ipw_rt->rt_flags = 0; 7668 ipw_rt->rt_flags = 0;
7668 ipw_rt->rt_tsf = 0ULL; 7669 ipw_rt->rt_tsf = (u64)(frame->parent_tsf[3] << 24 |
7670 frame->parent_tsf[2] << 16 |
7671 frame->parent_tsf[1] << 8 |
7672 frame->parent_tsf[0]);
7669 7673
7670 /* Convert signal to DBM */ 7674 /* Convert signal to DBM */
7671 ipw_rt->rt_dbmsignal = antsignal; 7675 ipw_rt->rt_dbmsignal = antsignal;
7676 ipw_rt->rt_dbmnoise = frame->noise;
7672 7677
7673 /* Convert the channel data and set the flags */ 7678 /* Convert the channel data and set the flags */
7674 ipw_rt->rt_channel = cpu_to_le16(ieee80211chan2mhz(received_channel)); 7679 ipw_rt->rt_channel = cpu_to_le16(ieee80211chan2mhz(received_channel));
@@ -7868,7 +7873,8 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv,
7868 7873
7869 /* Big bitfield of all the fields we provide in radiotap */ 7874 /* Big bitfield of all the fields we provide in radiotap */
7870 ipw_rt->rt_hdr.it_present = 7875 ipw_rt->rt_hdr.it_present =
7871 ((1 << IEEE80211_RADIOTAP_FLAGS) | 7876 ((1 << IEEE80211_RADIOTAP_TSFT) |
7877 (1 << IEEE80211_RADIOTAP_FLAGS) |
7872 (1 << IEEE80211_RADIOTAP_RATE) | 7878 (1 << IEEE80211_RADIOTAP_RATE) |
7873 (1 << IEEE80211_RADIOTAP_CHANNEL) | 7879 (1 << IEEE80211_RADIOTAP_CHANNEL) |
7874 (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | 7880 (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) |
@@ -7877,7 +7883,10 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv,
7877 7883
7878 /* Zero the flags, we'll add to them as we go */ 7884 /* Zero the flags, we'll add to them as we go */
7879 ipw_rt->rt_flags = 0; 7885 ipw_rt->rt_flags = 0;
7880 ipw_rt->rt_tsf = 0ULL; 7886 ipw_rt->rt_tsf = (u64)(frame->parent_tsf[3] << 24 |
7887 frame->parent_tsf[2] << 16 |
7888 frame->parent_tsf[1] << 8 |
7889 frame->parent_tsf[0]);
7881 7890
7882 /* Convert to DBM */ 7891 /* Convert to DBM */
7883 ipw_rt->rt_dbmsignal = signal; 7892 ipw_rt->rt_dbmsignal = signal;