On Sat, 2018-01-27 at 13:39 -0600, Larry Finger wrote: > 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. > The code also confused me, so I'll change them to 'switch...case' in v2. PK