On 09/23/2014 02:17 PM, greearb@xxxxxxxxxxxxxxx wrote: > From: Ben Greear <greearb@xxxxxxxxxxxxxxx> > > When re-associating a station, the nss was set back to > maximum value even if user had configured small number > of tx chains. So, pay attention to user's config in > this case as well. Looks like this (and probably the related patch) did not make it upstream yet. Is someone waiting for more changes from me or did this just get lost? Thanks, Ben > > Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> > --- > > v2: No changes from v1. > > drivers/net/wireless/ath/ath10k/mac.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c > index e75607d..34ec992 100644 > --- a/drivers/net/wireless/ath/ath10k/mac.c > +++ b/drivers/net/wireless/ath/ath10k/mac.c > @@ -4114,6 +4114,10 @@ ath10k_default_bitrate_mask(struct ath10k *ar, > u32 legacy = 0x00ff; > u8 ht = 0xff, i; > u16 vht = 0x3ff; > + u16 nrf = ar->num_rf_chains; > + > + if (ar->cfg_tx_chainmask) > + nrf = get_nss_from_chainmask(ar->cfg_tx_chainmask); > > switch (band) { > case IEEE80211_BAND_2GHZ: > @@ -4129,11 +4133,11 @@ ath10k_default_bitrate_mask(struct ath10k *ar, > if (mask->control[band].legacy != legacy) > return false; > > - for (i = 0; i < ar->num_rf_chains; i++) > + for (i = 0; i < nrf; i++) > if (mask->control[band].ht_mcs[i] != ht) > return false; > > - for (i = 0; i < ar->num_rf_chains; i++) > + for (i = 0; i < nrf; i++) > if (mask->control[band].vht_mcs[i] != vht) > return false; > > @@ -4384,6 +4388,9 @@ static int ath10k_set_bitrate_mask(struct ieee80211_hw *hw, > u8 fixed_nss = ar->num_rf_chains; > u8 force_sgi; > > + if (ar->cfg_tx_chainmask) > + fixed_nss = get_nss_from_chainmask(ar->cfg_tx_chainmask); > + > force_sgi = mask->control[band].gi; > if (force_sgi == NL80211_TXRATE_FORCE_LGI) > return -EINVAL; > -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html