All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Roskin <proski@gnu.org>
To: "John W. Linville" <linville@tuxdriver.com>,
	linux-wireless@vger.kernel.org
Cc: Felix Fietkau <nbd@openwrt.org>,
	johannes@sipsolutions.net, arend@broadcom.com
Subject: Re: [PATCH] mac80211: do not call rate control .tx_status before .rate_init
Date: Wed, 8 Feb 2012 18:01:52 -0500	[thread overview]
Message-ID: <20120208180152.082cff4e@mj> (raw)
In-Reply-To: <20120208194453.GC2929@tuxdriver.com>

On Wed, 8 Feb 2012 14:44:54 -0500
"John W. Linville" <linville@tuxdriver.com> wrote:

> On Wed, Feb 08, 2012 at 08:38:00PM +0100, Felix Fietkau wrote:
> > On 2012-02-08 8:25 PM, John W. Linville wrote:
> > > On Wed, Feb 08, 2012 at 07:17:11PM +0100, Felix Fietkau wrote:
> > >> Most rate control implementations assume .get_rate
> > >> and .tx_status are only called once the per-station data has
> > >> been fully initialized. minstrel_ht crashes if this assumption
> > >> is violated.
> > >> 
> > >> Signed-off-by: Felix Fietkau <nbd@openwrt.org>
> > >> Tested-by: Arend van Spriel <arend@broadcom.com>
> > >> ---
> > >>  net/mac80211/rate.h |    2 +-
> > >>  1 files changed, 1 insertions(+), 1 deletions(-)
> > >> 
> > >> diff --git a/net/mac80211/rate.h b/net/mac80211/rate.h
> > >> index 5fc3135..fbb1efd 100644
> > >> --- a/net/mac80211/rate.h
> > >> +++ b/net/mac80211/rate.h
> > >> @@ -37,7 +37,7 @@ static inline void
> > >> rate_control_tx_status(struct ieee80211_local *local, struct
> > >> ieee80211_sta *ista = &sta->sta; void *priv_sta =
> > >> sta->rate_ctrl_priv; 
> > >> -	if (!ref)
> > >> +	if (!ref || !test_sta_flag(sta, WLAN_STA_RATE_CONTROL))
> > >>  		return;
> > >>  
> > >>  	ref->ops->tx_status(ref->priv, sband, ista, priv_sta,
> > >> skb);
> > > 
> > > Any reason not to apply this for 3.3?  Or stable?
> > I think 3.3 doesn't have that sta flag, the issue was probably
> > introduced with the 3.4 changes.
> > I don't remember something like this appearing in earlier versions.
> 
> Cool, thanks.

I believe 3.3 is affected.  At least it looks like the Fedora bug 768639
(https://bugzilla.redhat.com/show_bug.cgi?id=768639) is caused by
calling .tx_status at a wrong time.  Fedora kernels use
compat-wireless-3.3.  I'm going to test the bleeding edge
compat-wireless with the patch by Felix to see if it fixes things.

The lack of the WLAN_STA_RATE_CONTROL flag doesn't mean that the old
behavior was correct.  The flag was introduced to correct that behavior.

The oldest report is dated 2011-12-17 and it's about Linux 3.2.0-rc5
with compat-wireless-2011-12-01.

-- 
Regards,
Pavel Roskin

  reply	other threads:[~2012-02-08 23:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-08 18:17 [PATCH] mac80211: do not call rate control .tx_status before .rate_init Felix Fietkau
2012-02-08 19:25 ` John W. Linville
2012-02-08 19:38   ` Felix Fietkau
2012-02-08 19:44     ` John W. Linville
2012-02-08 23:01       ` Pavel Roskin [this message]
2012-02-09  0:51         ` Felix Fietkau
2012-02-09 20:14           ` John W. Linville
2012-02-09 20:21             ` Arend van Spriel
2012-02-09 23:11           ` Pavel Roskin
2012-02-10 10:05             ` jpo

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=20120208180152.082cff4e@mj \
    --to=proski@gnu.org \
    --cc=arend@broadcom.com \
    --cc=johannes@sipsolutions.net \
    --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 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.