[lkml]   [2011]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[21/78] ath9k: remove support for the FIF_PROMISC_IN_BSS filter flag
    2.6.38-stable review patch.  If anyone has any objections, please let us know.


    From: Felix Fietkau <>

    commit 2e286947f1294239527c11f9f466ddce6466455b upstream.

    The hardware rx filter flag triggered by FIF_PROMISC_IN_BSS is overly broad
    and covers even frames with PHY errors. When this flag is enabled, this message
    shows up frequently during scanning or hardware resets:

    ath: Could not stop RX, we could be confusing the DMA engine when we start RX up

    Since promiscuous mode is usually not particularly useful, yet enabled by
    default by bridging (either used normally in 4-addr mode, or with hacks
    for various virtualization software), we should sacrifice it for better
    reliability during normal operation.

    This patch leaves it enabled if there are active monitor mode interfaces, since
    it's very useful for debugging.

    Signed-off-by: Felix Fietkau <>
    Signed-off-by: John W. Linville <>
    Signed-off-by: Greg Kroah-Hartman <>

    drivers/net/wireless/ath/ath9k/recv.c | 4 +---
    1 file changed, 1 insertion(+), 3 deletions(-)

    --- a/drivers/net/wireless/ath/ath9k/recv.c
    +++ b/drivers/net/wireless/ath/ath9k/recv.c
    @@ -439,9 +439,7 @@ u32 ath_calcrxfilter(struct ath_softc *s
    * mode interface or when in monitor mode. AP mode does not need this
    * since it receives all in-BSS frames anyway.
    - if (((sc->sc_ah->opmode != NL80211_IFTYPE_AP) &&
    - (sc->rx.rxfilter & FIF_PROMISC_IN_BSS)) ||
    - (sc->sc_ah->is_monitoring))
    + if (sc->sc_ah->is_monitoring)
    rfilt |= ATH9K_RX_FILTER_PROM;

    if (sc->rx.rxfilter & FIF_CONTROL)

     \ /
      Last update: 2011-03-22 00:35    [W:0.018 / U:1.388 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site