Search Linux Wireless

Re: [PATCH 06/10] rtlwifi: Fix VHT NSS in RC

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

 



On 01/26/2018 01:46 AM, pkshih@xxxxxxxxxxx wrote:
From: Ping-Ke Shih <pkshih@xxxxxxxxxxx>

NSS is a argument of highest rate in RC, and it occupies bit 4-7 so use
ieee80211_rate_set_vht() to fill the values. Since it got correct rate
index, we don't need to check chips to assign NSS in set function anymore.

Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
---
  drivers/net/wireless/realtek/rtlwifi/rc.c | 49 +++++++++++++++++++++++++------
  1 file changed, 40 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/rc.c b/drivers/net/wireless/realtek/rtlwifi/rc.c
index d1cb7d405618..396bed8d3d51 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rc.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rc.c
@@ -42,6 +42,17 @@ static u8 _rtl_rc_get_highest_rix(struct rtl_priv *rtlpriv,
  	struct rtl_phy *rtlphy = &(rtlpriv->phy);
  	struct rtl_sta_info *sta_entry = NULL;
  	u16 wireless_mode = 0;
+	u8 nss;
+	struct ieee80211_tx_rate rate;
+
+	if (get_rf_type(rtlphy) >= RF_4T4R)
+		nss = 4;
+	else if (get_rf_type(rtlphy) >= RF_3T3R)
+		nss = 3;
+	else if (get_rf_type(rtlphy) >= RF_2T2R)
+		nss = 2;
+	else
+		nss = 1;

As a general rule, I think that if ... else if ... else if ... else ... constructions should be changed to switch statements. This one is simple enough that there will be no complications, but keep this in mind in the future.

Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>




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

  Powered by Linux