From: Johannes Berg <johannes@sipsolutions.net>
To: "Luis R. Rodriguez" <lrodriguez@atheros.com>
Cc: Luis Rodriguez <Luis.Rodriguez@atheros.com>,
"John W. Linville" <linville@tuxdriver.com>,
Srinivasa Duvvuri <Srinivasa.Duvvuri@atheros.com>,
Matt Smith <Matt.Smith@atheros.com>,
Bennyam Malavazi <Bennyam.Malavazi@atheros.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] mac80211: Deny new BA agreements from being started during offchannel operation
Date: Thu, 07 Oct 2010 19:56:19 +0200 [thread overview]
Message-ID: <1286474179.20974.10.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <AANLkTi=iW1T7w-9akkR=DNnrGg3XD5nO=8pJ7V2_PiL4@mail.gmail.com>
On Thu, 2010-10-07 at 10:21 -0700, Luis R. Rodriguez wrote:
> > But then again, come to think of it, why are you doing this anyway?
>
> The goal is to clean up a lot of stuff we forgot to cleanup for
> offchannel operation and in the end to help with multicast/broadcast
> data. This patch just addresses one of the cleanups. The timers kicked
> off when going off channel will not make sense, so best to just deny
> ADDBA when going offchannel.
But this won't actually help in that case -- this problem happens if try
to make a BA just before we go offchannel, and then the timer fires
while we're offchannel. It'll just *very* slightly alter the timing
required to hit it.
> > I'm not convinced of the whole idea, it's all racy. I'm starting to think
> > that this patch won't help anything since we'll still be racy and start
> > BA agreements just before we block,
>
> Establishing the BA agreement is fine, we don't want to cancel
> existing BA agreements when going offchannel, we just want to prevent
> making the timers for new ADDBA requests from going stale
> unnecessarily.
See above though.
> > _and_ if we're a station and going off-channel we'll be going into powersave
> > which means we won't actually get the addBA frame until we return.
>
> There's a race between trying to go offchannel, sending the nullfunc
> and switching channels. When the race hits the ADDBA timer will just
> go stale. If our goal is to go offchannel we should avoid the race by
> simply denying new ADDBA requests. I just noticed that we can't
> possible receive ADDBA requests when we are scanning though, since
> ieee80211_iface_work() already has a check and bail out for
> local->scanning, but note that local->scanning will not be checked
> when doing other offchannel work.
>
> So perhaps there is another way we can deal with this for the
> non-scanning offchannel work case that might also take care of not
> handling other queued up management frames when offchannel.
I think we need to treat TX and RX BA differently.
For TX BA, the best idea would probably be to actually make it _use_ the
work infrastructure -- after we change that to not actually stop all the
things it's doing when the channel is the operating channel, or so.
johannes
prev parent reply other threads:[~2010-10-07 17:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-06 18:50 [PATCH] mac80211: Deny new BA agreements from being started during offchannel operation Luis R. Rodriguez
2010-10-06 18:55 ` Johannes Berg
2010-10-06 19:12 ` Luis R. Rodriguez
2010-10-06 19:19 ` Johannes Berg
2010-10-06 20:48 ` Luis R. Rodriguez
2010-10-07 7:18 ` Johannes Berg
2010-10-07 17:21 ` Luis R. Rodriguez
2010-10-07 17:56 ` Johannes Berg [this message]
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=1286474179.20974.10.camel@jlt3.sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=Bennyam.Malavazi@atheros.com \
--cc=Luis.Rodriguez@atheros.com \
--cc=Matt.Smith@atheros.com \
--cc=Srinivasa.Duvvuri@atheros.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=lrodriguez@atheros.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.