On Saturday 28 March 2009 04:21:02 Max Filippov wrote: > > That's odd. > > > > P54_FILTER_TYPE_TRANSPARENT should be already set for mesh mode. > > > > The reason is that mesh mode will automatically set the FIF_OTHER_BSS flag, > > (file:net/mac80211/iface.c func:ieee80211_open lines:251 f) > > > > which in turn ORs the P54_FILTER_TYPE_TRANSPARENT flag to the mode... > > (file:drivers/net/wireless/p54/p54common.c func: p54_setup_mac lines: 1691 > > f) > > > > So, there's no need to OR a flag that gets ORed anyway? > > Found the problem, that's my fault at merge of omap and wireless-testing > trees: > p54_configure_filter that I tested with has the following code: > > *total_flags &= FIF_PROMISC_IN_BSS | > FIF_OTHER_BSS | > (*total_flags & FIF_PROMISC_IN_BSS) ? > FIF_FCSFAIL : 0; > > which does not what it is intended to. '|' operator has higher precedence > than '? :' > thus it is equivalent to *total_flags &= FIF_FCSFAIL; which never yields > neither > FIF_PROMISC_IN_BSS nor FIF_OTHER_BSS. > > Current wireless-testing head has > > *total_flags &= FIF_PROMISC_IN_BSS | > FIF_OTHER_BSS; > > at this place, which work fine. Yup that was fixed by "p54: misplaced parentheses" ( c1359ddff01dc63b2770f876a94b6dd97e0473f6 ) and FCS_FAIL was removed by "p54: completely ignore rx'd frames with bad FCS" ( adda7e08403adf0980efb69ffe339567df8eb8d1 ) your last patches had some offset, do you have more code fixes or does everything work (properly)? Regards, Chr -- 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