Message ID | 1433378862-2064-1-git-send-email-ap420073@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Kalle Valo |
Headers | show |
On 06/03/2015 07:47 PM, Taehee Yoo wrote: > 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> > --- > drivers/net/wireless/rtlwifi/rtl8192cu/hw.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) I like this patch very much. Getting rid of a static variable is always good. Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Thanks, Larry > > diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c > index 1898596..6a4ef05 100644 > --- a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c > +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c > @@ -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) > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> 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> Thanks, applied to wireless-drivers-next.git. Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c index 1898596..6a4ef05 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c @@ -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)
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> --- drivers/net/wireless/rtlwifi/rtl8192cu/hw.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)