mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 19:56:45 +07:00
rtlwifi: rtl8192cu: Fix performance issue.
After physical reconnect, the rtl8192cu chipset shows low transmission rates.It cause is that variable "iqk_initialized" do not de-initialized. So I add this code. Signed-off-by: Taehee Yoo <ap420073@gmail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
ec264a4302
commit
ca7bdd95b2
@ -987,7 +987,6 @@ int rtl92cu_hw_init(struct ieee80211_hw *hw)
|
||||
struct rtl_phy *rtlphy = &(rtlpriv->phy);
|
||||
struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
|
||||
int err = 0;
|
||||
static bool iqk_initialized;
|
||||
unsigned long flags;
|
||||
|
||||
/* As this function can take a very long time (up to 350 ms)
|
||||
@ -1038,11 +1037,11 @@ int rtl92cu_hw_init(struct ieee80211_hw *hw)
|
||||
rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_ETHER_ADDR, mac->mac_addr);
|
||||
if (ppsc->rfpwr_state == ERFON) {
|
||||
rtl92c_phy_set_rfpath_switch(hw, 1);
|
||||
if (iqk_initialized) {
|
||||
if (rtlphy->iqk_initialized) {
|
||||
rtl92c_phy_iq_calibrate(hw, true);
|
||||
} else {
|
||||
rtl92c_phy_iq_calibrate(hw, false);
|
||||
iqk_initialized = true;
|
||||
rtlphy->iqk_initialized = true;
|
||||
}
|
||||
rtl92c_dm_check_txpower_tracking(hw);
|
||||
rtl92c_phy_lc_calibrate(hw);
|
||||
@ -1391,6 +1390,9 @@ void rtl92cu_card_disable(struct ieee80211_hw *hw)
|
||||
_CardDisableHWSM(hw);
|
||||
else
|
||||
_CardDisableWithoutHWSM(hw);
|
||||
|
||||
/* after power off we should do iqk again */
|
||||
rtlpriv->phy.iqk_initialized = false;
|
||||
}
|
||||
|
||||
void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid)
|
||||
|
Loading…
Reference in New Issue
Block a user