p54: implement FIF_OTHER_BSS filter setting
PATCH 2/3 p54: implement FIF_OTHER_BSS filter setting
According to STMicroelectronics' LMAC documentation, the P54_FILTER_TYPE_TRANSPARENT flag "configures the receive frame filter to pass all frames without regard to type and address matching."
Signed-off-by Christian Lamparter <[email protected]>
---
drivers/net/wireless/p54/p54common.c +4 -2
@@ -1555,7 +1555,8 @@ static int p54_setup_mac(struct ieee8021* "TRANSPARENT and PROMISCUOUS are mutually exclusive" * STSW45X0C LMAC API - page 12 */ -if ((priv->filter_flags &FIF_PROMISC_IN_BSS ) && +if (((priv->filter_flags &FIF_PROMISC_IN_BSS ) || + (priv->filter_flags &FIF_OTHER_BSS )) && (mode !=P54_FILTER_TYPE_PROMISCUOUS )) mode |=P54_FILTER_TYPE_TRANSPARENT ; }else
@@ -1983,12 +1984,13 @@ static void p54_configure_filter(structstruct p54_common *priv = dev->priv; *total_flags &=FIF_PROMISC_IN_BSS | +FIF_OTHER_BSS | (*total_flags &FIF_PROMISC_IN_BSS ) ?FIF_FCSFAIL :0 ; priv->filter_flags = *total_flags; -if (changed_flags &FIF_PROMISC_IN_BSS ) +if (changed_flags & (FIF_PROMISC_IN_BSS |FIF_OTHER_BSS ))p54_setup_mac (dev); }