From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: Felix Fietkau <nbd@openwrt.org>
Cc: Ben Greear <greearb@candelatech.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linville@tuxdriver.com" <linville@tuxdriver.com>,
Luis Rodriguez <Luis.Rodriguez@Atheros.com>,
Kyungwan Nam <Kyungwan.Nam@Atheros.com>
Subject: Re: [PATCH 2.6.38] ath9k: remove support for the FIF_PROMISC_IN_BSS filter flag
Date: Tue, 15 Mar 2011 13:51:22 -0700 [thread overview]
Message-ID: <20110315205122.GI11878@tux> (raw)
In-Reply-To: <4D76D4BD.7070509@openwrt.org>
On Tue, Mar 08, 2011 at 05:15:41PM -0800, Felix Fietkau wrote:
> On 2011-03-09 2:07 AM, Ben Greear wrote:
> > On 03/08/2011 04:48 PM, Felix Fietkau wrote:
> >> 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<nbd@openwrt.org>
> >> Cc: stable@kernel.org
> >> ---
> >> drivers/net/wireless/ath/ath9k/recv.c | 4 +---
> >> 1 files changed, 1 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
> >> index cb559e3..a9c3f46 100644
> >> --- a/drivers/net/wireless/ath/ath9k/recv.c
> >> +++ b/drivers/net/wireless/ath/ath9k/recv.c
> >> @@ -413,9 +413,7 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
> >> * 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)
> >
> > Should we enable this flag if we have multiple STA
> > interfaces? I had to add something to ath5k recently
> > to put it into promisc to properly handle multiple STAs
> > associated with different APs, for instance.
> No, multiple interfaces is handled by the BSSID mask.
>
> > Do you have any idea *why* enabling this flag causes the DMA error
> > messages?
> I don't know why exactly it happens, but it probably cannot be explained
> without going to the details of the inner workings of the MAC/baseband
> interaction. But as I mentioned in the description, this flag is overly
> broad and doesn't just bypass the address match, but lets all kinds of
> other crap through as well - in many situations where even 'normal'
> promiscuous behavior would be completely useless.
> I think because of that, disabling it for non-monitor operation is the
> right thing to do.
Nice find, thanks for looking at this. Are we cured now from all of
these rants? Or has anyone seem more?
Luis
next prev parent reply other threads:[~2011-03-15 20:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-09 0:48 [PATCH 2.6.38] ath9k: remove support for the FIF_PROMISC_IN_BSS filter flag Felix Fietkau
2011-03-09 1:07 ` Ben Greear
2011-03-09 1:15 ` Felix Fietkau
2011-03-15 20:51 ` Luis R. Rodriguez [this message]
2011-03-15 21:04 ` Felix Fietkau
2011-03-09 2:56 ` Rajkumar Manoharan
2011-03-09 3:00 ` Ben Greear
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110315205122.GI11878@tux \
--to=lrodriguez@atheros.com \
--cc=Kyungwan.Nam@Atheros.com \
--cc=Luis.Rodriguez@Atheros.com \
--cc=greearb@candelatech.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=nbd@openwrt.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).