diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-11-19 23:38:48 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-11-19 23:38:48 +0300 |
commit | ab1f5a532c9d33b49b039660c5ecbc0ab53e7133 (patch) | |
tree | a1c1d820f2280535978632c5935462efcf5a4c7f /net/mac80211/rx.c | |
parent | f48ecb19bc0443a4272dd0934e7bee4480610df9 (diff) | |
parent | 4e6ce4dc7ce71d0886908d55129d5d6482a27ff9 (diff) | |
download | linux-ab1f5a532c9d33b49b039660c5ecbc0ab53e7133.tar.xz |
Merge commit '4e6ce4dc7ce71d0886908d55129d5d6482a27ff9' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index bc63aa0c5401..a726bb169302 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1685,11 +1685,14 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) sc = le16_to_cpu(hdr->seq_ctrl); frag = sc & IEEE80211_SCTL_FRAG; - if (likely((!ieee80211_has_morefrags(fc) && frag == 0) || - is_multicast_ether_addr(hdr->addr1))) { - /* not fragmented */ + if (likely(!ieee80211_has_morefrags(fc) && frag == 0)) + goto out; + + if (is_multicast_ether_addr(hdr->addr1)) { + rx->local->dot11MulticastReceivedFrameCount++; goto out; } + I802_DEBUG_INC(rx->local->rx_handlers_fragments); if (skb_linearize(rx->skb)) @@ -1782,10 +1785,7 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) out: if (rx->sta) rx->sta->rx_packets++; - if (is_multicast_ether_addr(hdr->addr1)) - rx->local->dot11MulticastReceivedFrameCount++; - else - ieee80211_led_rx(rx->local); + ieee80211_led_rx(rx->local); return RX_CONTINUE; } |