diff options
author | Bruno Randolf <br1@einfach.org> | 2008-07-30 11:20:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-08-22 16:29:50 -0400 |
commit | 6f0a2c4dfc96d268233a6a882f3805975f91216c (patch) | |
tree | fbc60eec2c3a2f91b06b605ebaaa659d7fd4621b /drivers/net/wireless/iwlwifi | |
parent | 9deb1ae572364a37d054d916c5bae858f91a3f9a (diff) |
iwlwifi: use generic mac80211 radiotap headers
remove drivers own implementation of radiotap in favor of the generic one
provided by mac80211.
also remove priv->add_radiotap because it is not used any more.
Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 104 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rx.c | 125 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 2 |
6 files changed, 27 insertions, 208 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 3f51f3635344..8dc26adc1975 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -531,99 +531,6 @@ static int iwl3945_is_network_packet(struct iwl3945_priv *priv, | |||
531 | } | 531 | } |
532 | } | 532 | } |
533 | 533 | ||
534 | static void iwl3945_add_radiotap(struct iwl3945_priv *priv, | ||
535 | struct sk_buff *skb, | ||
536 | struct iwl3945_rx_frame_hdr *rx_hdr, | ||
537 | struct ieee80211_rx_status *stats) | ||
538 | { | ||
539 | /* First cache any information we need before we overwrite | ||
540 | * the information provided in the skb from the hardware */ | ||
541 | s8 signal = stats->signal; | ||
542 | s8 noise = 0; | ||
543 | int rate = stats->rate_idx; | ||
544 | u64 tsf = stats->mactime; | ||
545 | __le16 phy_flags_hw = rx_hdr->phy_flags, antenna; | ||
546 | |||
547 | struct iwl3945_rt_rx_hdr { | ||
548 | struct ieee80211_radiotap_header rt_hdr; | ||
549 | __le64 rt_tsf; /* TSF */ | ||
550 | u8 rt_flags; /* radiotap packet flags */ | ||
551 | u8 rt_rate; /* rate in 500kb/s */ | ||
552 | __le16 rt_channelMHz; /* channel in MHz */ | ||
553 | __le16 rt_chbitmask; /* channel bitfield */ | ||
554 | s8 rt_dbmsignal; /* signal in dBm, kluged to signed */ | ||
555 | s8 rt_dbmnoise; | ||
556 | u8 rt_antenna; /* antenna number */ | ||
557 | } __attribute__ ((packed)) *iwl3945_rt; | ||
558 | |||
559 | if (skb_headroom(skb) < sizeof(*iwl3945_rt)) { | ||
560 | if (net_ratelimit()) | ||
561 | printk(KERN_ERR "not enough headroom [%d] for " | ||
562 | "radiotap head [%zd]\n", | ||
563 | skb_headroom(skb), sizeof(*iwl3945_rt)); | ||
564 | return; | ||
565 | } | ||
566 | |||
567 | /* put radiotap header in front of 802.11 header and data */ | ||
568 | iwl3945_rt = (void *)skb_push(skb, sizeof(*iwl3945_rt)); | ||
569 | |||
570 | /* initialise radiotap header */ | ||
571 | iwl3945_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; | ||
572 | iwl3945_rt->rt_hdr.it_pad = 0; | ||
573 | |||
574 | /* total header + data */ | ||
575 | put_unaligned_le16(sizeof(*iwl3945_rt), &iwl3945_rt->rt_hdr.it_len); | ||
576 | |||
577 | /* Indicate all the fields we add to the radiotap header */ | ||
578 | put_unaligned_le32((1 << IEEE80211_RADIOTAP_TSFT) | | ||
579 | (1 << IEEE80211_RADIOTAP_FLAGS) | | ||
580 | (1 << IEEE80211_RADIOTAP_RATE) | | ||
581 | (1 << IEEE80211_RADIOTAP_CHANNEL) | | ||
582 | (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | | ||
583 | (1 << IEEE80211_RADIOTAP_DBM_ANTNOISE) | | ||
584 | (1 << IEEE80211_RADIOTAP_ANTENNA), | ||
585 | &iwl3945_rt->rt_hdr.it_present); | ||
586 | |||
587 | /* Zero the flags, we'll add to them as we go */ | ||
588 | iwl3945_rt->rt_flags = 0; | ||
589 | |||
590 | put_unaligned_le64(tsf, &iwl3945_rt->rt_tsf); | ||
591 | |||
592 | iwl3945_rt->rt_dbmsignal = signal; | ||
593 | iwl3945_rt->rt_dbmnoise = noise; | ||
594 | |||
595 | /* Convert the channel frequency and set the flags */ | ||
596 | put_unaligned_le16(stats->freq, &iwl3945_rt->rt_channelMHz); | ||
597 | if (!(phy_flags_hw & RX_RES_PHY_FLAGS_BAND_24_MSK)) | ||
598 | put_unaligned_le16(IEEE80211_CHAN_OFDM | IEEE80211_CHAN_5GHZ, | ||
599 | &iwl3945_rt->rt_chbitmask); | ||
600 | else if (phy_flags_hw & RX_RES_PHY_FLAGS_MOD_CCK_MSK) | ||
601 | put_unaligned_le16(IEEE80211_CHAN_CCK | IEEE80211_CHAN_2GHZ, | ||
602 | &iwl3945_rt->rt_chbitmask); | ||
603 | else /* 802.11g */ | ||
604 | put_unaligned_le16(IEEE80211_CHAN_OFDM | IEEE80211_CHAN_2GHZ, | ||
605 | &iwl3945_rt->rt_chbitmask); | ||
606 | |||
607 | if (rate == -1) | ||
608 | iwl3945_rt->rt_rate = 0; | ||
609 | else { | ||
610 | if (stats->band == IEEE80211_BAND_5GHZ) | ||
611 | rate += IWL_FIRST_OFDM_RATE; | ||
612 | |||
613 | iwl3945_rt->rt_rate = iwl3945_rates[rate].ieee; | ||
614 | } | ||
615 | |||
616 | /* antenna number */ | ||
617 | antenna = phy_flags_hw & RX_RES_PHY_FLAGS_ANTENNA_MSK; | ||
618 | iwl3945_rt->rt_antenna = le16_to_cpu(antenna) >> 4; | ||
619 | |||
620 | /* set the preamble flag if we have it */ | ||
621 | if (phy_flags_hw & RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK) | ||
622 | iwl3945_rt->rt_flags |= IEEE80211_RADIOTAP_F_SHORTPRE; | ||
623 | |||
624 | stats->flag |= RX_FLAG_RADIOTAP; | ||
625 | } | ||
626 | |||
627 | static void iwl3945_pass_packet_to_mac80211(struct iwl3945_priv *priv, | 534 | static void iwl3945_pass_packet_to_mac80211(struct iwl3945_priv *priv, |
628 | struct iwl3945_rx_mem_buffer *rxb, | 535 | struct iwl3945_rx_mem_buffer *rxb, |
629 | struct ieee80211_rx_status *stats) | 536 | struct ieee80211_rx_status *stats) |
@@ -657,9 +564,6 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl3945_priv *priv, | |||
657 | iwl3945_set_decrypted_flag(priv, rxb->skb, | 564 | iwl3945_set_decrypted_flag(priv, rxb->skb, |
658 | le32_to_cpu(rx_end->status), stats); | 565 | le32_to_cpu(rx_end->status), stats); |
659 | 566 | ||
660 | if (priv->add_radiotap) | ||
661 | iwl3945_add_radiotap(priv, rxb->skb, rx_hdr, stats); | ||
662 | |||
663 | #ifdef CONFIG_IWL3945_LEDS | 567 | #ifdef CONFIG_IWL3945_LEDS |
664 | if (ieee80211_is_data(hdr->frame_control)) | 568 | if (ieee80211_is_data(hdr->frame_control)) |
665 | priv->rxtxpackets += len; | 569 | priv->rxtxpackets += len; |
@@ -684,7 +588,6 @@ static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv, | |||
684 | u16 rx_stats_noise_diff = le16_to_cpu(rx_stats->noise_diff); | 588 | u16 rx_stats_noise_diff = le16_to_cpu(rx_stats->noise_diff); |
685 | u8 network_packet; | 589 | u8 network_packet; |
686 | 590 | ||
687 | rx_status.antenna = 0; | ||
688 | rx_status.flag = 0; | 591 | rx_status.flag = 0; |
689 | rx_status.mactime = le64_to_cpu(rx_end->timestamp); | 592 | rx_status.mactime = le64_to_cpu(rx_end->timestamp); |
690 | rx_status.freq = | 593 | rx_status.freq = |
@@ -696,6 +599,13 @@ static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv, | |||
696 | if (rx_status.band == IEEE80211_BAND_5GHZ) | 599 | if (rx_status.band == IEEE80211_BAND_5GHZ) |
697 | rx_status.rate_idx -= IWL_FIRST_OFDM_RATE; | 600 | rx_status.rate_idx -= IWL_FIRST_OFDM_RATE; |
698 | 601 | ||
602 | rx_status.antenna = le16_to_cpu(rx_hdr->phy_flags & | ||
603 | RX_RES_PHY_FLAGS_ANTENNA_MSK) >> 4; | ||
604 | |||
605 | /* set the preamble flag if appropriate */ | ||
606 | if (rx_hdr->phy_flags & RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK) | ||
607 | rx_status.flag |= RX_FLAG_SHORTPRE; | ||
608 | |||
699 | if ((unlikely(rx_stats->phy_count > 20))) { | 609 | if ((unlikely(rx_stats->phy_count > 20))) { |
700 | IWL_DEBUG_DROP | 610 | IWL_DEBUG_DROP |
701 | ("dsp size out of range [0,20]: " | 611 | ("dsp size out of range [0,20]: " |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h index fa81ba1af3d3..4dd3f0dbe07b 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945.h | |||
@@ -707,7 +707,6 @@ struct iwl3945_priv { | |||
707 | 707 | ||
708 | enum ieee80211_band band; | 708 | enum ieee80211_band band; |
709 | int alloc_rxb_skb; | 709 | int alloc_rxb_skb; |
710 | bool add_radiotap; | ||
711 | 710 | ||
712 | void (*rx_handlers[REPLY_MAX])(struct iwl3945_priv *priv, | 711 | void (*rx_handlers[REPLY_MAX])(struct iwl3945_priv *priv, |
713 | struct iwl3945_rx_mem_buffer *rxb); | 712 | struct iwl3945_rx_mem_buffer *rxb); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 061ffba9c884..676fc0acedee 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -2790,8 +2790,6 @@ static int iwl4965_mac_config(struct ieee80211_hw *hw, struct ieee80211_conf *co | |||
2790 | mutex_lock(&priv->mutex); | 2790 | mutex_lock(&priv->mutex); |
2791 | IWL_DEBUG_MAC80211("enter to channel %d\n", conf->channel->hw_value); | 2791 | IWL_DEBUG_MAC80211("enter to channel %d\n", conf->channel->hw_value); |
2792 | 2792 | ||
2793 | priv->add_radiotap = !!(conf->flags & IEEE80211_CONF_RADIOTAP); | ||
2794 | |||
2795 | if (conf->radio_enabled && iwl_radio_kill_sw_enable_radio(priv)) { | 2793 | if (conf->radio_enabled && iwl_radio_kill_sw_enable_radio(priv)) { |
2796 | IWL_DEBUG_MAC80211("leave - RF-KILL - waiting for uCode\n"); | 2794 | IWL_DEBUG_MAC80211("leave - RF-KILL - waiting for uCode\n"); |
2797 | goto out; | 2795 | goto out; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index c19db438306c..792030819502 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -829,7 +829,6 @@ struct iwl_priv { | |||
829 | 829 | ||
830 | enum ieee80211_band band; | 830 | enum ieee80211_band band; |
831 | int alloc_rxb_skb; | 831 | int alloc_rxb_skb; |
832 | bool add_radiotap; | ||
833 | 832 | ||
834 | void (*rx_handlers[REPLY_MAX])(struct iwl_priv *priv, | 833 | void (*rx_handlers[REPLY_MAX])(struct iwl_priv *priv, |
835 | struct iwl_rx_mem_buffer *rxb); | 834 | struct iwl_rx_mem_buffer *rxb); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index f3f6ea49fdd2..b92a580ed2f9 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c | |||
@@ -789,107 +789,6 @@ static inline void iwl_dbg_report_frame(struct iwl_priv *priv, | |||
789 | } | 789 | } |
790 | #endif | 790 | #endif |
791 | 791 | ||
792 | static void iwl_add_radiotap(struct iwl_priv *priv, | ||
793 | struct sk_buff *skb, | ||
794 | struct iwl_rx_phy_res *rx_start, | ||
795 | struct ieee80211_rx_status *stats, | ||
796 | u32 ampdu_status) | ||
797 | { | ||
798 | s8 signal = stats->signal; | ||
799 | s8 noise = 0; | ||
800 | int rate = stats->rate_idx; | ||
801 | u64 tsf = stats->mactime; | ||
802 | __le16 antenna; | ||
803 | __le16 phy_flags_hw = rx_start->phy_flags; | ||
804 | struct iwl4965_rt_rx_hdr { | ||
805 | struct ieee80211_radiotap_header rt_hdr; | ||
806 | __le64 rt_tsf; /* TSF */ | ||
807 | u8 rt_flags; /* radiotap packet flags */ | ||
808 | u8 rt_rate; /* rate in 500kb/s */ | ||
809 | __le16 rt_channelMHz; /* channel in MHz */ | ||
810 | __le16 rt_chbitmask; /* channel bitfield */ | ||
811 | s8 rt_dbmsignal; /* signal in dBm, kluged to signed */ | ||
812 | s8 rt_dbmnoise; | ||
813 | u8 rt_antenna; /* antenna number */ | ||
814 | } __attribute__ ((packed)) *iwl4965_rt; | ||
815 | |||
816 | /* TODO: We won't have enough headroom for HT frames. Fix it later. */ | ||
817 | if (skb_headroom(skb) < sizeof(*iwl4965_rt)) { | ||
818 | if (net_ratelimit()) | ||
819 | printk(KERN_ERR "not enough headroom [%d] for " | ||
820 | "radiotap head [%zd]\n", | ||
821 | skb_headroom(skb), sizeof(*iwl4965_rt)); | ||
822 | return; | ||
823 | } | ||
824 | |||
825 | /* put radiotap header in front of 802.11 header and data */ | ||
826 | iwl4965_rt = (void *)skb_push(skb, sizeof(*iwl4965_rt)); | ||
827 | |||
828 | /* initialise radiotap header */ | ||
829 | iwl4965_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; | ||
830 | iwl4965_rt->rt_hdr.it_pad = 0; | ||
831 | |||
832 | /* total header + data */ | ||
833 | put_unaligned_le16(sizeof(*iwl4965_rt), &iwl4965_rt->rt_hdr.it_len); | ||
834 | |||
835 | /* Indicate all the fields we add to the radiotap header */ | ||
836 | put_unaligned_le32((1 << IEEE80211_RADIOTAP_TSFT) | | ||
837 | (1 << IEEE80211_RADIOTAP_FLAGS) | | ||
838 | (1 << IEEE80211_RADIOTAP_RATE) | | ||
839 | (1 << IEEE80211_RADIOTAP_CHANNEL) | | ||
840 | (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | | ||
841 | (1 << IEEE80211_RADIOTAP_DBM_ANTNOISE) | | ||
842 | (1 << IEEE80211_RADIOTAP_ANTENNA), | ||
843 | &(iwl4965_rt->rt_hdr.it_present)); | ||
844 | |||
845 | /* Zero the flags, we'll add to them as we go */ | ||
846 | iwl4965_rt->rt_flags = 0; | ||
847 | |||
848 | put_unaligned_le64(tsf, &iwl4965_rt->rt_tsf); | ||
849 | |||
850 | iwl4965_rt->rt_dbmsignal = signal; | ||
851 | iwl4965_rt->rt_dbmnoise = noise; | ||
852 | |||
853 | /* Convert the channel frequency and set the flags */ | ||
854 | put_unaligned(cpu_to_le16(stats->freq), &iwl4965_rt->rt_channelMHz); | ||
855 | if (!(phy_flags_hw & RX_RES_PHY_FLAGS_BAND_24_MSK)) | ||
856 | put_unaligned_le16(IEEE80211_CHAN_OFDM | IEEE80211_CHAN_5GHZ, | ||
857 | &iwl4965_rt->rt_chbitmask); | ||
858 | else if (phy_flags_hw & RX_RES_PHY_FLAGS_MOD_CCK_MSK) | ||
859 | put_unaligned_le16(IEEE80211_CHAN_CCK | IEEE80211_CHAN_2GHZ, | ||
860 | &iwl4965_rt->rt_chbitmask); | ||
861 | else /* 802.11g */ | ||
862 | put_unaligned_le16(IEEE80211_CHAN_OFDM | IEEE80211_CHAN_2GHZ, | ||
863 | &iwl4965_rt->rt_chbitmask); | ||
864 | |||
865 | if (rate == -1) | ||
866 | iwl4965_rt->rt_rate = 0; | ||
867 | else | ||
868 | iwl4965_rt->rt_rate = iwl_rates[rate].ieee; | ||
869 | |||
870 | /* | ||
871 | * "antenna number" | ||
872 | * | ||
873 | * It seems that the antenna field in the phy flags value | ||
874 | * is actually a bitfield. This is undefined by radiotap, | ||
875 | * it wants an actual antenna number but I always get "7" | ||
876 | * for most legacy frames I receive indicating that the | ||
877 | * same frame was received on all three RX chains. | ||
878 | * | ||
879 | * I think this field should be removed in favour of a | ||
880 | * new 802.11n radiotap field "RX chains" that is defined | ||
881 | * as a bitmask. | ||
882 | */ | ||
883 | antenna = phy_flags_hw & RX_RES_PHY_FLAGS_ANTENNA_MSK; | ||
884 | iwl4965_rt->rt_antenna = le16_to_cpu(antenna) >> 4; | ||
885 | |||
886 | /* set the preamble flag if appropriate */ | ||
887 | if (phy_flags_hw & RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK) | ||
888 | iwl4965_rt->rt_flags |= IEEE80211_RADIOTAP_F_SHORTPRE; | ||
889 | |||
890 | stats->flag |= RX_FLAG_RADIOTAP; | ||
891 | } | ||
892 | |||
893 | static void iwl_update_rx_stats(struct iwl_priv *priv, u16 fc, u16 len) | 792 | static void iwl_update_rx_stats(struct iwl_priv *priv, u16 fc, u16 len) |
894 | { | 793 | { |
895 | /* 0 - mgmt, 1 - cnt, 2 - data */ | 794 | /* 0 - mgmt, 1 - cnt, 2 - data */ |
@@ -1074,9 +973,6 @@ static void iwl_pass_packet_to_mac80211(struct iwl_priv *priv, | |||
1074 | iwl_set_decrypted_flag(priv, hdr, ampdu_status, stats)) | 973 | iwl_set_decrypted_flag(priv, hdr, ampdu_status, stats)) |
1075 | return; | 974 | return; |
1076 | 975 | ||
1077 | if (priv->add_radiotap) | ||
1078 | iwl_add_radiotap(priv, rxb->skb, rx_start, stats, ampdu_status); | ||
1079 | |||
1080 | iwl_update_rx_stats(priv, le16_to_cpu(hdr->frame_control), len); | 976 | iwl_update_rx_stats(priv, le16_to_cpu(hdr->frame_control), len); |
1081 | ieee80211_rx_irqsafe(priv->hw, rxb->skb, stats); | 977 | ieee80211_rx_irqsafe(priv->hw, rxb->skb, stats); |
1082 | priv->alloc_rxb_skb--; | 978 | priv->alloc_rxb_skb--; |
@@ -1171,7 +1067,6 @@ void iwl_rx_reply_rx(struct iwl_priv *priv, | |||
1171 | if (rx_status.band == IEEE80211_BAND_5GHZ) | 1067 | if (rx_status.band == IEEE80211_BAND_5GHZ) |
1172 | rx_status.rate_idx -= IWL_FIRST_OFDM_RATE; | 1068 | rx_status.rate_idx -= IWL_FIRST_OFDM_RATE; |
1173 | 1069 | ||
1174 | rx_status.antenna = 0; | ||
1175 | rx_status.flag = 0; | 1070 | rx_status.flag = 0; |
1176 | rx_status.flag |= RX_FLAG_TSFT; | 1071 | rx_status.flag |= RX_FLAG_TSFT; |
1177 | 1072 | ||
@@ -1250,6 +1145,26 @@ void iwl_rx_reply_rx(struct iwl_priv *priv, | |||
1250 | rx_status.signal, rx_status.noise, rx_status.signal, | 1145 | rx_status.signal, rx_status.noise, rx_status.signal, |
1251 | (unsigned long long)rx_status.mactime); | 1146 | (unsigned long long)rx_status.mactime); |
1252 | 1147 | ||
1148 | /* | ||
1149 | * "antenna number" | ||
1150 | * | ||
1151 | * It seems that the antenna field in the phy flags value | ||
1152 | * is actually a bitfield. This is undefined by radiotap, | ||
1153 | * it wants an actual antenna number but I always get "7" | ||
1154 | * for most legacy frames I receive indicating that the | ||
1155 | * same frame was received on all three RX chains. | ||
1156 | * | ||
1157 | * I think this field should be removed in favour of a | ||
1158 | * new 802.11n radiotap field "RX chains" that is defined | ||
1159 | * as a bitmask. | ||
1160 | */ | ||
1161 | rx_status.antenna = le16_to_cpu(rx_start->phy_flags & | ||
1162 | RX_RES_PHY_FLAGS_ANTENNA_MSK) >> 4; | ||
1163 | |||
1164 | /* set the preamble flag if appropriate */ | ||
1165 | if (rx_start->phy_flags & RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK) | ||
1166 | rx_status.flag |= RX_FLAG_SHORTPRE; | ||
1167 | |||
1253 | /* Take shortcut when only in monitor mode */ | 1168 | /* Take shortcut when only in monitor mode */ |
1254 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { | 1169 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { |
1255 | iwl_pass_packet_to_mac80211(priv, include_phy, | 1170 | iwl_pass_packet_to_mac80211(priv, include_phy, |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index b775d5bab668..5096abc66c08 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -6650,8 +6650,6 @@ static int iwl3945_mac_config(struct ieee80211_hw *hw, struct ieee80211_conf *co | |||
6650 | mutex_lock(&priv->mutex); | 6650 | mutex_lock(&priv->mutex); |
6651 | IWL_DEBUG_MAC80211("enter to channel %d\n", conf->channel->hw_value); | 6651 | IWL_DEBUG_MAC80211("enter to channel %d\n", conf->channel->hw_value); |
6652 | 6652 | ||
6653 | priv->add_radiotap = !!(conf->flags & IEEE80211_CONF_RADIOTAP); | ||
6654 | |||
6655 | if (!iwl3945_is_ready(priv)) { | 6653 | if (!iwl3945_is_ready(priv)) { |
6656 | IWL_DEBUG_MAC80211("leave - not ready\n"); | 6654 | IWL_DEBUG_MAC80211("leave - not ready\n"); |
6657 | ret = -EIO; | 6655 | ret = -EIO; |