All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Felix Fietkau <nbd@nbd.name>, linux-wireless@vger.kernel.org
Cc: onelektra@gmx.net
Subject: Re: [PATCH] mac80211: initialize SMPS field in HT capabilities
Date: Fri, 13 Jan 2017 09:20:55 +0100	[thread overview]
Message-ID: <1484295655.19860.9.camel@sipsolutions.net> (raw)
In-Reply-To: <20170111223322.14698-1-nbd@nbd.name>

On Wed, 2017-01-11 at 23:33 +0100, Felix Fietkau wrote:
> ibss and mesh modes copy the ht capabilites from the band without
> overriding the SMPS state. Unfortunately the default value 0 for the
> SMPS field means static SMPS instead of disabled.
> 
> This results in HT ibss and mesh setups using only single-stream
> rates,
> even though SMPS is not supposed to be active.
> 
> Initialize SMPS to disabled for all bands on ieee80211_hw_register to
> ensure that the value is sane where it is not overriden with the real
> SMPS state.

Hmm. I guess the only other place affected by it will be scanning?

> Reported-by: Elektra Wagenrad <onelektra@gmx.net>
> Signed-off-by: Felix Fietkau <nbd@nbd.name>
> ---
>  net/mac80211/main.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/net/mac80211/main.c b/net/mac80211/main.c
> index 1822c77f2b1c..c269046aa02b 100644
> --- a/net/mac80211/main.c
> +++ b/net/mac80211/main.c
> @@ -913,10 +913,15 @@ int ieee80211_register_hw(struct ieee80211_hw
> *hw)
>  		supp_ht = supp_ht || sband->ht_cap.ht_supported;
>  		supp_vht = supp_vht || sband->vht_cap.vht_supported;
>  
> -		if (sband->ht_cap.ht_supported)
> -			local->rx_chains =
> -				max(ieee80211_mcs_to_chains(&sband-
> >ht_cap.mcs),
> -				    local->rx_chains);
> +		if (!sband->ht_cap.ht_supported)
> +			continue;
> +
> +		local->rx_chains =
> +			max(ieee80211_mcs_to_chains(&sband-
> >ht_cap.mcs),
> +			    local->rx_chains);
> +
> +		sband->ht_cap.cap |= WLAN_HT_CAP_SM_PS_DISABLED <<
> +			             IEEE80211_HT_CAP_SM_PS_SHIFT;

This ... looks fishy. I know it's not, since it sets both bits, but
still.

Additionally, ath10k appears to be setting this to
WLAN_HT_CAP_SM_PS_DYNAMIC already, so apparently it's expecting
something to happen with that value? Is it really correct then to be
overwriting it?

johannes

  reply	other threads:[~2017-01-13  8:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-11 22:33 [PATCH] mac80211: initialize SMPS field in HT capabilities Felix Fietkau
2017-01-13  8:20 ` Johannes Berg [this message]
2017-01-13  8:54   ` Felix Fietkau
2017-01-13 10:20     ` Johannes Berg

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=1484295655.19860.9.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    --cc=onelektra@gmx.net \
    /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.