Search Linux Wireless

Re: [PATCH 1/2] mac80211: VHT off-by-one NSS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2013-04-15 at 17:09 +0200, Karl Beldan wrote:
> From: Karl Beldan <karl.beldan@xxxxxxxxxxxxxxxx>
> 
> The number of VHT spatial streams (NSS) is found in:
> - s8 ieee80211_tx_rate.rate.idx[6:4] (tx - filled by rate control)
> - u8 ieee80211_rx_status.vht_nss     (rx - filled by driver)
> Tx discriminates valid rates indexes with the sign bit and encodes NSS
> starting from 0 to 7 (note this matches some hw encodings e.g IWLMVM).
> Rx does not have the same constraints, and encodes NSS starting from 1
> to 8 (note this matches what wireshark expects in the radiotap header).
> 
> To handle ieee80211_tx_rate.rate.idx[6:4] ieee80211_rate_set_vht() and
> ieee80211_rate_get_vht_nss() assume their nss parameter and return value
> respectively runs from 0 to 7.
> ATM, there are only 2 users of these: cfg.c:sta_set_rate_info_t() and
> iwlwifi/mvm/tx.c:iwl_mvm_hwrate_to_tx_control(), but both assume nss
> runs from 1 to 8.
> This patch fixes this inconsistency by making ieee80211_rate_set_vht()
> and ieee80211_rate_get_vht_nss() handle an nss running from 1 to 8.
> 
> Signed-off-by: Karl Beldan <karl.beldan@xxxxxxxxxxxxxxxx>
> ---
> This might feel very verbose for such a trivial thing.

I think it's good, it's clearly a tricky area :-)

Applied both.

Btw, it seems we're missing VHT rates in net/mac80211/status.c, I was
wondering why that wasn't wrong but it's simply not there, heh. In fact
we probably mess it up when using VHT ...

johannes

--
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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux