diff options
| -rw-r--r-- | net/mac80211/rx.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 61c621e9273f..1222127de9be 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
| @@ -1897,7 +1897,8 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) | |||
| 1897 | mesh_rmc_check(hdr->addr3, mesh_hdr, rx->sdata)) | 1897 | mesh_rmc_check(hdr->addr3, mesh_hdr, rx->sdata)) |
| 1898 | return RX_DROP_MONITOR; | 1898 | return RX_DROP_MONITOR; |
| 1899 | 1899 | ||
| 1900 | if (!ieee80211_is_data(hdr->frame_control)) | 1900 | if (!ieee80211_is_data(hdr->frame_control) || |
| 1901 | !(status->rx_flags & IEEE80211_RX_RA_MATCH)) | ||
| 1901 | return RX_CONTINUE; | 1902 | return RX_CONTINUE; |
| 1902 | 1903 | ||
| 1903 | if (!mesh_hdr->ttl) | 1904 | if (!mesh_hdr->ttl) |
| @@ -1941,9 +1942,6 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) | |||
| 1941 | } | 1942 | } |
| 1942 | skb_set_queue_mapping(skb, q); | 1943 | skb_set_queue_mapping(skb, q); |
| 1943 | 1944 | ||
| 1944 | if (!(status->rx_flags & IEEE80211_RX_RA_MATCH)) | ||
| 1945 | goto out; | ||
| 1946 | |||
| 1947 | if (!--mesh_hdr->ttl) { | 1945 | if (!--mesh_hdr->ttl) { |
| 1948 | IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_ttl); | 1946 | IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_ttl); |
| 1949 | return RX_DROP_MONITOR; | 1947 | return RX_DROP_MONITOR; |
