diff options
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 b04ca4049c95..a37f9af634cb 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
| @@ -1678,11 +1678,14 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) | |||
| 1678 | sc = le16_to_cpu(hdr->seq_ctrl); | 1678 | sc = le16_to_cpu(hdr->seq_ctrl); |
| 1679 | frag = sc & IEEE80211_SCTL_FRAG; | 1679 | frag = sc & IEEE80211_SCTL_FRAG; |
| 1680 | 1680 | ||
| 1681 | if (likely((!ieee80211_has_morefrags(fc) && frag == 0) || | 1681 | if (likely(!ieee80211_has_morefrags(fc) && frag == 0)) |
| 1682 | is_multicast_ether_addr(hdr->addr1))) { | 1682 | goto out; |
| 1683 | /* not fragmented */ | 1683 | |
| 1684 | if (is_multicast_ether_addr(hdr->addr1)) { | ||
| 1685 | rx->local->dot11MulticastReceivedFrameCount++; | ||
| 1684 | goto out; | 1686 | goto out; |
| 1685 | } | 1687 | } |
| 1688 | |||
| 1686 | I802_DEBUG_INC(rx->local->rx_handlers_fragments); | 1689 | I802_DEBUG_INC(rx->local->rx_handlers_fragments); |
| 1687 | 1690 | ||
| 1688 | if (skb_linearize(rx->skb)) | 1691 | if (skb_linearize(rx->skb)) |
| @@ -1775,10 +1778,7 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) | |||
| 1775 | out: | 1778 | out: |
| 1776 | if (rx->sta) | 1779 | if (rx->sta) |
| 1777 | rx->sta->rx_packets++; | 1780 | rx->sta->rx_packets++; |
| 1778 | if (is_multicast_ether_addr(hdr->addr1)) | 1781 | ieee80211_led_rx(rx->local); |
| 1779 | rx->local->dot11MulticastReceivedFrameCount++; | ||
| 1780 | else | ||
| 1781 | ieee80211_led_rx(rx->local); | ||
| 1782 | return RX_CONTINUE; | 1782 | return RX_CONTINUE; |
| 1783 | } | 1783 | } |
| 1784 | 1784 | ||
