On Sat, 2011-02-05 at 23:48 +0100, Felix Fietkau wrote: > Since 4-addr frames completely override the source address which will > make it into the converted 802.3 frames, receiving frames for other > 4-addr stations will confuse the bridging code. > > To be able to handle traffic for all connected devices, the bridge > code will automatically turn on promiscuous mode, which triggers > this problem. > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> > Reported-by: Steve Brown <sbrown@xxxxxxxxxxxx> > --- > net/mac80211/rx.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index b5f59ed..50c2c88 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -2646,7 +2646,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx, > return 0; > if (!multicast && > compare_ether_addr(sdata->vif.addr, hdr->addr1) != 0) { > - if (!(sdata->dev->flags & IFF_PROMISC)) > + if (!(sdata->dev->flags & IFF_PROMISC) || > + sdata->u.mgd.use_4addr) > return 0; > status->rx_flags &= ~IEEE80211_RX_RA_MATCH; > } Tested: computer1->sta1->ap->sta2->computer2 Thanks, Steve -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html