| From e9b0784bb9de3152e787ee779868c626b137fb3b Mon Sep 17 00:00:00 2001 |
| From: Larry Finger <Larry.Finger@lwfinger.net> |
| Date: Mon, 18 Nov 2013 11:11:34 -0600 |
| Subject: rtlwifi: rtl8192cu: Fix some code in RF handling |
| |
| From: Larry Finger <Larry.Finger@lwfinger.net> |
| |
| commit e9b0784bb9de3152e787ee779868c626b137fb3b upstream. |
| |
| Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/wireless/rtlwifi/rtl8192cu/rf.c | 29 +++++++++++++++------------- |
| 1 file changed, 16 insertions(+), 13 deletions(-) |
| |
| --- a/drivers/net/wireless/rtlwifi/rtl8192cu/rf.c |
| +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/rf.c |
| @@ -85,17 +85,15 @@ void rtl92cu_phy_rf6052_set_cck_txpower( |
| if (mac->act_scanning) { |
| tx_agc[RF90_PATH_A] = 0x3f3f3f3f; |
| tx_agc[RF90_PATH_B] = 0x3f3f3f3f; |
| - if (turbo_scanoff) { |
| - for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) { |
| - tx_agc[idx1] = ppowerlevel[idx1] | |
| - (ppowerlevel[idx1] << 8) | |
| - (ppowerlevel[idx1] << 16) | |
| - (ppowerlevel[idx1] << 24); |
| - if (rtlhal->interface == INTF_USB) { |
| - if (tx_agc[idx1] > 0x20 && |
| - rtlefuse->external_pa) |
| - tx_agc[idx1] = 0x20; |
| - } |
| + for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) { |
| + tx_agc[idx1] = ppowerlevel[idx1] | |
| + (ppowerlevel[idx1] << 8) | |
| + (ppowerlevel[idx1] << 16) | |
| + (ppowerlevel[idx1] << 24); |
| + if (rtlhal->interface == INTF_USB) { |
| + if (tx_agc[idx1] > 0x20 && |
| + rtlefuse->external_pa) |
| + tx_agc[idx1] = 0x20; |
| } |
| } |
| } else { |
| @@ -107,7 +105,7 @@ void rtl92cu_phy_rf6052_set_cck_txpower( |
| TXHIGHPWRLEVEL_LEVEL2) { |
| tx_agc[RF90_PATH_A] = 0x00000000; |
| tx_agc[RF90_PATH_B] = 0x00000000; |
| - } else{ |
| + } else { |
| for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) { |
| tx_agc[idx1] = ppowerlevel[idx1] | |
| (ppowerlevel[idx1] << 8) | |
| @@ -373,7 +371,12 @@ static void _rtl92c_write_ofdm_power_reg |
| regoffset == RTXAGC_B_MCS07_MCS04) |
| regoffset = 0xc98; |
| for (i = 0; i < 3; i++) { |
| - writeVal = (writeVal > 6) ? (writeVal - 6) : 0; |
| + if (i != 2) |
| + writeVal = (writeVal > 8) ? |
| + (writeVal - 8) : 0; |
| + else |
| + writeVal = (writeVal > 6) ? |
| + (writeVal - 6) : 0; |
| rtl_write_byte(rtlpriv, (u32)(regoffset + i), |
| (u8)writeVal); |
| } |