diff options
author | David S. Miller <davem@davemloft.net> | 2010-12-22 17:34:40 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-22 17:34:40 -0800 |
commit | b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac (patch) | |
tree | eb00fdc7f8ea3132e0eee3eb1a5925df73f5d859 /net | |
parent | 762e30239cce9ff0d82227ade663feed2f6283d8 (diff) | |
parent | b51aff057c9d0ef6c529dc25fd9f775faf7b6c63 (diff) | |
download | linux-b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac.tar.gz linux-b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac.tar.bz2 linux-b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac.zip |
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/rx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 54fb4a0e76f0..b01e467b76c6 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1788,9 +1788,11 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) fwd_skb = skb_copy(skb, GFP_ATOMIC); - if (!fwd_skb && net_ratelimit()) + if (!fwd_skb && net_ratelimit()) { printk(KERN_DEBUG "%s: failed to clone mesh frame\n", sdata->name); + goto out; + } fwd_hdr = (struct ieee80211_hdr *) fwd_skb->data; memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN); @@ -1828,6 +1830,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) } } + out: if (is_multicast_ether_addr(hdr->addr1) || sdata->dev->flags & IFF_PROMISC) return RX_CONTINUE; |