linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: wwguy <wey-yi.w.guy@intel.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Daniel Halperin <dhalperi@cs.washington.edu>,
	"ipw3945-devel@lists.sourceforge.net"
	<ipw3945-devel@lists.sourceforge.net>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: iwlagn aggregation problem when stations are removed/re-added quickly
Date: Wed, 08 Jun 2011 08:11:23 -0700	[thread overview]
Message-ID: <1307545883.5115.23.camel@wwguy-ubuntu> (raw)
In-Reply-To: <1307544781.30277.6.camel@jlt3.sipsolutions.net>

On Wed, 2011-06-08 at 07:53 -0700, Johannes Berg wrote:
> On Wed, 2011-06-08 at 07:37 -0700, wwguy wrote:
> > On Wed, 2011-06-08 at 04:07 -0700, Johannes Berg wrote:
> > > On Fri, 2011-05-13 at 15:56 -0700, Daniel Halperin wrote:
> > > 
> > > > I'm running an experiment where a client connects to the AP (both HT
> > > > iwlagn devices), starts a large transfer that gets aggregation going,
> > > > disassociates, and then reassociates and restarts the transfer.
> > > > 
> > > > When mac80211 stops the queue (as part of the client's disassocation
> > > > process), it goes into the following code:
> > > > 
> > > >                IWL_DEBUG_HT(priv, "Stopping a non empty AGG HW QUEUE\n");
> > > >                 priv->stations[sta_id].tid[tid].agg.state =
> > > >                                 IWL_EMPTYING_HW_QUEUE_DELBA;
> > > >                 spin_unlock_irqrestore(&priv->sta_lock, flags);
> > > > 
> > > > but if the station is removed right away the packets stay in the
> > > > queue. Indeed, when the client reconnects, the packets are then
> > > > delivered! But then the queue gets stuck and the AP issues a firmware
> > > > reset, which doesn't actually get traffic flowing again. Below,
> > > > there's a log with IWL_DL_HT set. It may be something racy; adding
> > > > DL_INFO and DL_MAC80211 I haven't been able to reproduce the bug yet
> > > > in a few tries.
> > > > 
> > > > I suspect this will also be a problem with P2P, and not just my klugey
> > > > use of AP mode. Any suggestions as to how to fix?
> > > 
> > > Sorry I'm replying this late. I'm not sure what the best way to fix it
> > > would be, but it makes sense that this would happen. Maybe we can flush
> > > the aggregation queue (asking the ucode to drop all frames) when the
> > > station is removed, but I'm not sure how we'd do that -- Wey-Yi do you
> > > know if that's possible?
> > > 
> > flush the queue might be a good solution, I was being told (I don't
> > remember who and when which is bad), the "tx flush" command is needed
> > especially for P2P
> > 
> > btw, there are 2 type of "tx flush", flush all the frames in uCode, or
> > just flush the frames in specified queue.
> 
> Right, but the flush seems to be implemented per FIFO and queue, so it's
> a bit confusing. In this case we should drop all frames out of the
> aggretgaiton queue.
> 

It is confuse, it will drop all the frames on the request queues 

flush_cmd.fifo_control = IWL_TX_FIFO_VO_MSK | IWL_TX_FIFO_VI_MSK |
			 IWL_TX_FIFO_BE_MSK | IWL_TX_FIFO_BK_MSK;
if (priv->cfg->sku & EEPROM_SKU_CAP_11N_ENABLE)
		flush_cmd.fifo_control |= IWL_AGG_TX_QUEUE_MSK;

But it did not consider different context, I will submit a separate
patch to fix it

Wey
 



  reply	other threads:[~2011-06-08 15:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <BANLkTiki+y2uoeyqX7BE0W+7RA9hHhgTLA@mail.gmail.com>
2011-06-08 11:07 ` iwlagn aggregation problem when stations are removed/re-added quickly Johannes Berg
2011-06-08 14:37   ` wwguy
2011-06-08 14:53     ` Johannes Berg
2011-06-08 15:11       ` wwguy [this message]
2011-06-27 15:41         ` Daniel Halperin

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=1307545883.5115.23.camel@wwguy-ubuntu \
    --to=wey-yi.w.guy@intel.com \
    --cc=dhalperi@cs.washington.edu \
    --cc=ipw3945-devel@lists.sourceforge.net \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.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).