public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@gmail.com>
To: linux-wireless <linux-wireless@vger.kernel.org>
Cc: ath9k-devel@lists.ath9k.org, Aeolus Yang <Aeolus.Yang@atheros.com>
Subject: Oops on ath_txq_schedule() hit a BUG_ON()
Date: Tue, 10 Nov 2009 16:06:02 -0800	[thread overview]
Message-ID: <43e72e890911101606j46e1edfn64e331f3463d4da5@mail.gmail.com> (raw)

I managed to get an oops the 2.6.32-rc wireless bits on ath9k by using
linux-backports-modules package on Ubuntu 9.10 which is on 2.6.31. I'm
pretty sure this is a real oops which can be reproduced on 2.6.32-rc6
but I was unable to boot the same laptop on 2.6.32-rc6 [1] due to an
early oops on what seems to be i915.

The EIP is at ath_txq_schedule() but the oops happens due to a
BUG_ON() (used to be ASSERT()) on this piece of code:

static void ath_tx_addto_baw(struct ath_softc *sc, struct ath_atx_tid *tid,
                             struct ath_buf *bf)
{
        int index, cindex;

        if (bf_isretried(bf))
                return;

        index  = ATH_BA_INDEX(tid->seq_start, bf->bf_seqno);
        cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1);

        /* The precious new bug is here */
        BUG_ON(tid->tx_buf[cindex] != NULL);
        tid->tx_buf[cindex] = bf;

        if (index >= ((tid->baw_tail - tid->baw_head) &
                (ATH_TID_MAX_BUFS - 1))) {
                tid->baw_tail = cindex;
                INCR(tid->baw_tail, ATH_TID_MAX_BUFS);
        }
}

This happens against an 802.11n AP, the WRT610n with 802.11n enabled.
The AP has this option to let you enable "only 802.11n", whatever that
means, its on the 2.4 GHz so I doubt the "only 802.11n" option is not
really only enabling 802.11n.

I managed to get a few pictures to remember this precious moment:

http://bombadil.infradead.org/~mcgrof/oops-img/2009/11/ath_txq_schedule_oops/01.jpg
http://bombadil.infradead.org/~mcgrof/oops-img/2009/11/ath_txq_schedule_oops/03.jpg
http://bombadil.infradead.org/~mcgrof/oops-img/2009/11/ath_txq_schedule_oops/02.jpg

This was with SpeedStep enabled, the power pulled off and doing iperf
UDP out (TX'ing). Haven't managed to find what makes the assumption
incorrect yet but it obviously is. If we cannot find what it is soon
we need to figure out a compromise and change it to a WARN_ONCE or so.

[1] http://lkml.org/lkml/2009/11/10/510

  Luis

             reply	other threads:[~2009-11-11  0:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-11  0:06 Luis R. Rodriguez [this message]
2009-11-11  4:09 ` Oops on ath_txq_schedule() hit a BUG_ON() Sujith
2009-11-11 20:44   ` [ath9k-devel] " Luis R. Rodriguez
2009-11-11 22:45     ` Luis R. Rodriguez
2009-11-12 22:27       ` Luis R. Rodriguez

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=43e72e890911101606j46e1edfn64e331f3463d4da5@mail.gmail.com \
    --to=mcgrof@gmail.com \
    --cc=Aeolus.Yang@atheros.com \
    --cc=ath9k-devel@lists.ath9k.org \
    --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