Commit 50e2a30c authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

iwlwifi: disable greenfield transmissions as a workaround

There's a bug that causes the rate scaling to get stuck
when it has to use single-stream rates with a peer that
can do GF and SGI; the two are incompatible so we can't
use them together, but that causes the algorithm to not
work at all, it always rejects updates.

Disable greenfield for now to prevent that problem.

Cc: stable@vger.kernel.org
Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tested-by: default avatarCesar Eduardo Barros <cesarb@cesarb.net>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent deee0214
...@@ -707,11 +707,14 @@ static int rs_toggle_antenna(u32 valid_ant, u32 *rate_n_flags, ...@@ -707,11 +707,14 @@ static int rs_toggle_antenna(u32 valid_ant, u32 *rate_n_flags,
*/ */
static bool rs_use_green(struct ieee80211_sta *sta) static bool rs_use_green(struct ieee80211_sta *sta)
{ {
struct iwl_station_priv *sta_priv = (void *)sta->drv_priv; /*
struct iwl_rxon_context *ctx = sta_priv->ctx; * There's a bug somewhere in this code that causes the
* scaling to get stuck because GF+SGI can't be combined
return (sta->ht_cap.cap & IEEE80211_HT_CAP_GRN_FLD) && * in SISO rates. Until we find that bug, disable GF, it
!(ctx->ht.non_gf_sta_present); * has only limited benefit and we still interoperate with
* GF APs since we can always receive GF transmissions.
*/
return false;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment