Skip to content

Commit

Permalink
mac80211: skip radiotap space calculation if no monitor exists
Browse files Browse the repository at this point in the history
The radiotap header length "needed_headroom" is only required if we're
sending the skb to a monitor interface. Hence, move the calculation a
bit later so the calculation can be skipped if no monitor interface is
present.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
  • Loading branch information
Helmut Schaa authored and Johannes Berg committed Dec 5, 2012
1 parent ab9d6e4 commit 751413e
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions net/mac80211/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -378,9 +378,6 @@ ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb,
* the SKB because it has a bad FCS/PLCP checksum.
*/

/* room for the radiotap header based on driver features */
needed_headroom = ieee80211_rx_radiotap_space(local, status);

if (local->hw.flags & IEEE80211_HW_RX_INCLUDES_FCS)
present_fcs_len = FCS_LEN;

Expand All @@ -399,6 +396,9 @@ ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb,
return remove_monitor_info(local, origskb);
}

/* room for the radiotap header based on driver features */
needed_headroom = ieee80211_rx_radiotap_space(local, status);

if (should_drop_frame(origskb, present_fcs_len)) {
/* only need to expand headroom if necessary */
skb = origskb;
Expand Down

0 comments on commit 751413e

Please sign in to comment.