* [PATCH 0/5] staging: r8188eu: some trivial cleanups
@ 2022-01-02 17:59 Martin Kaiser
2022-01-02 17:59 ` [PATCH 1/5] staging: r8188eu: remove unused power management defines Martin Kaiser
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Martin Kaiser @ 2022-01-02 17:59 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel, Martin Kaiser
Remove unused variables and defines in several places.
Martin Kaiser (5):
staging: r8188eu: remove unused power management defines
staging: r8188eu: internal autosuspend is always false
staging: r8188eu: fix_rate is set but not used.
staging: r8188eu: cmd_issued_cnt is set but not used
staging: r8188eu: turbo scan is always off for r8188eu
drivers/staging/r8188eu/core/rtw_cmd.c | 3 ---
drivers/staging/r8188eu/core/rtw_pwrctrl.c | 9 +-------
drivers/staging/r8188eu/hal/rtl8188e_dm.c | 1 -
drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 21 +++++++------------
drivers/staging/r8188eu/include/drv_types.h | 2 --
drivers/staging/r8188eu/include/rtw_cmd.h | 1 -
drivers/staging/r8188eu/include/rtw_pwrctrl.h | 5 -----
drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 ------
drivers/staging/r8188eu/os_dep/os_intfs.c | 4 ----
drivers/staging/r8188eu/os_dep/usb_intf.c | 3 +--
10 files changed, 9 insertions(+), 46 deletions(-)
--
2.30.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/5] staging: r8188eu: remove unused power management defines
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
@ 2022-01-02 17:59 ` Martin Kaiser
2022-01-02 17:59 ` [PATCH 2/5] staging: r8188eu: internal autosuspend is always false Martin Kaiser
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Martin Kaiser @ 2022-01-02 17:59 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel, Martin Kaiser
Remove unused defines from enum power_mgnt.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
drivers/staging/r8188eu/include/rtw_pwrctrl.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/staging/r8188eu/include/rtw_pwrctrl.h b/drivers/staging/r8188eu/include/rtw_pwrctrl.h
index 849e144c90dd..40032447355d 100644
--- a/drivers/staging/r8188eu/include/rtw_pwrctrl.h
+++ b/drivers/staging/r8188eu/include/rtw_pwrctrl.h
@@ -19,10 +19,6 @@ enum power_mgnt {
PS_MODE_DTIM,
PS_MODE_VOIP,
PS_MODE_UAPSD_WMM,
- PS_MODE_UAPSD,
- PS_MODE_IBSS,
- PS_MODE_WWLAN,
- PM_Radio_Off,
PM_Card_Disable,
PS_MODE_NUM
};
--
2.30.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/5] staging: r8188eu: internal autosuspend is always false
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
2022-01-02 17:59 ` [PATCH 1/5] staging: r8188eu: remove unused power management defines Martin Kaiser
@ 2022-01-02 17:59 ` Martin Kaiser
2022-01-02 17:59 ` [PATCH 3/5] staging: r8188eu: fix_rate is set but not used Martin Kaiser
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Martin Kaiser @ 2022-01-02 17:59 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel, Martin Kaiser
bInternalAutoSuspend is always false. Remove the variable and related
checks.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
drivers/staging/r8188eu/core/rtw_pwrctrl.c | 9 +--------
drivers/staging/r8188eu/include/rtw_pwrctrl.h | 1 -
drivers/staging/r8188eu/os_dep/os_intfs.c | 4 ----
drivers/staging/r8188eu/os_dep/usb_intf.c | 3 +--
4 files changed, 2 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r8188eu/core/rtw_pwrctrl.c
index 7fa4516af6ec..46e44aee587f 100644
--- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c
+++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c
@@ -351,7 +351,6 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
pwrctrlpriv->pwr_state_check_interval = RTW_PWR_STATE_CHK_INTERVAL;
pwrctrlpriv->pwr_state_check_cnts = 0;
- pwrctrlpriv->bInternalAutoSuspend = false;
pwrctrlpriv->bInSuspend = false;
pwrctrlpriv->bkeepfwalive = false;
@@ -396,7 +395,7 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
}
/* System suspend is not allowed to wakeup */
- if ((!pwrpriv->bInternalAutoSuspend) && pwrpriv->bInSuspend) {
+ if (pwrpriv->bInSuspend) {
while (pwrpriv->bInSuspend &&
(rtw_get_passing_time_ms(start) <= 3000 ||
(rtw_get_passing_time_ms(start) <= 500)))
@@ -407,12 +406,6 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
DBG_88E("%s wait bInSuspend done\n", __func__);
}
- /* block??? */
- if ((pwrpriv->bInternalAutoSuspend) && (padapter->net_closed)) {
- ret = _FAIL;
- goto exit;
- }
-
/* I think this should be check in IPS, LPS, autosuspend functions... */
if (check_fwstate(pmlmepriv, _FW_LINKED)) {
ret = _SUCCESS;
diff --git a/drivers/staging/r8188eu/include/rtw_pwrctrl.h b/drivers/staging/r8188eu/include/rtw_pwrctrl.h
index 40032447355d..2d5298373d74 100644
--- a/drivers/staging/r8188eu/include/rtw_pwrctrl.h
+++ b/drivers/staging/r8188eu/include/rtw_pwrctrl.h
@@ -75,7 +75,6 @@ struct pwrctrl_priv {
s32 pnp_current_pwr_state;
u8 pnp_bstop_trx;
- u8 bInternalAutoSuspend;
u8 bInSuspend;
u8 bSupportRemoteWakeup;
struct timer_list pwr_state_check_timer;
diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c
index f81e26785d66..b65e44f97826 100644
--- a/drivers/staging/r8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/r8188eu/os_dep/os_intfs.c
@@ -760,10 +760,6 @@ int netdev_close(struct net_device *pnetdev)
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(pnetdev);
struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
- if (padapter->pwrctrlpriv.bInternalAutoSuspend) {
- if (padapter->pwrctrlpriv.rf_pwrstate == rf_off)
- padapter->pwrctrlpriv.ps_flag = true;
- }
padapter->net_closed = true;
if (padapter->pwrctrlpriv.rf_pwrstate == rf_on) {
diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c
index 5c1faf01cb51..91792dfd3bbe 100644
--- a/drivers/staging/r8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/r8188eu/os_dep/usb_intf.c
@@ -192,8 +192,7 @@ static void rtw_dev_unload(struct adapter *padapter)
if (padapter->intf_stop)
padapter->intf_stop(padapter);
/* s4. */
- if (!padapter->pwrctrlpriv.bInternalAutoSuspend)
- rtw_stop_drv_threads(padapter);
+ rtw_stop_drv_threads(padapter);
/* s5. */
if (!padapter->bSurpriseRemoved) {
--
2.30.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/5] staging: r8188eu: fix_rate is set but not used.
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
2022-01-02 17:59 ` [PATCH 1/5] staging: r8188eu: remove unused power management defines Martin Kaiser
2022-01-02 17:59 ` [PATCH 2/5] staging: r8188eu: internal autosuspend is always false Martin Kaiser
@ 2022-01-02 17:59 ` Martin Kaiser
2022-01-02 17:59 ` [PATCH 4/5] staging: r8188eu: cmd_issued_cnt " Martin Kaiser
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Martin Kaiser @ 2022-01-02 17:59 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel, Martin Kaiser
fix_rate in struct adapter is set but not used. Remove the variable and
the private ioctl code to set it.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
drivers/staging/r8188eu/hal/rtl8188e_dm.c | 1 -
drivers/staging/r8188eu/include/drv_types.h | 2 --
drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 ------
3 files changed, 9 deletions(-)
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_dm.c b/drivers/staging/r8188eu/hal/rtl8188e_dm.c
index 685431034495..bd6eb3878060 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_dm.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_dm.c
@@ -84,7 +84,6 @@ void rtl8188e_InitHalDm(struct adapter *Adapter)
dm_InitGPIOSetting(Adapter);
Update_ODM_ComInfo_88E(Adapter);
ODM_DMInit(dm_odm);
- Adapter->fix_rate = 0xFF;
}
void rtl8188e_HalDmWatchDog(struct adapter *Adapter)
diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h
index c586a35014d8..2dd5ebaaa921 100644
--- a/drivers/staging/r8188eu/include/drv_types.h
+++ b/drivers/staging/r8188eu/include/drv_types.h
@@ -264,8 +264,6 @@ struct adapter {
unsigned char br_ip[4];
struct br_ext_info ethBrExtInfo;
- u8 fix_rate;
-
unsigned char in_cta_test;
};
diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
index 9d277151a5ee..6e9a6d4db089 100644
--- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
@@ -3978,12 +3978,6 @@ static int rtw_dbg_port(struct net_device *dev,
DBG_88E("turn %s the bShowGetP2PState Variable\n", (extra_arg == 1) ? "on" : "off");
padapter->bShowGetP2PState = extra_arg;
break;
- case 0xaa:
- if (extra_arg > 0x13)
- extra_arg = 0xFF;
- DBG_88E("chang data rate to :0x%02x\n", extra_arg);
- padapter->fix_rate = extra_arg;
- break;
case 0xdd:/* registers dump, 0 for mac reg, 1 for bb reg, 2 for rf reg */
if (extra_arg == 0)
mac_reg_dump(padapter);
--
2.30.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/5] staging: r8188eu: cmd_issued_cnt is set but not used
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
` (2 preceding siblings ...)
2022-01-02 17:59 ` [PATCH 3/5] staging: r8188eu: fix_rate is set but not used Martin Kaiser
@ 2022-01-02 17:59 ` Martin Kaiser
2022-01-02 17:59 ` [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu Martin Kaiser
2022-01-02 18:41 ` [PATCH 0/5] staging: r8188eu: some trivial cleanups Michael Straube
5 siblings, 0 replies; 10+ messages in thread
From: Martin Kaiser @ 2022-01-02 17:59 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel, Martin Kaiser
cmd_issued_cnt in struct cmd_priv is set but not used. It can
be removed.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
drivers/staging/r8188eu/core/rtw_cmd.c | 3 ---
drivers/staging/r8188eu/include/rtw_cmd.h | 1 -
2 files changed, 4 deletions(-)
diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c
index 6d503eb7ff26..8bfb01c2ebb5 100644
--- a/drivers/staging/r8188eu/core/rtw_cmd.c
+++ b/drivers/staging/r8188eu/core/rtw_cmd.c
@@ -50,7 +50,6 @@ static int _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 - ((size_t)(pcmdpriv->rsp_allocated_buf) & 3);
- pcmdpriv->cmd_issued_cnt = 0;
pcmdpriv->cmd_done_cnt = 0;
pcmdpriv->rsp_cnt = 0;
exit:
@@ -269,8 +268,6 @@ int rtw_cmd_thread(void *context)
goto post_process;
}
- pcmdpriv->cmd_issued_cnt++;
-
pcmd->cmdsz = _RND4((pcmd->cmdsz));/* _RND4 */
memcpy(pcmdbuf, pcmd->parmbuf, pcmd->cmdsz);
diff --git a/drivers/staging/r8188eu/include/rtw_cmd.h b/drivers/staging/r8188eu/include/rtw_cmd.h
index 47c3c80cc24a..cf0945ae11c1 100644
--- a/drivers/staging/r8188eu/include/rtw_cmd.h
+++ b/drivers/staging/r8188eu/include/rtw_cmd.h
@@ -42,7 +42,6 @@ struct cmd_priv {
u8 *cmd_allocated_buf;
u8 *rsp_buf; /* shall be non-paged, and 4 bytes aligned */
u8 *rsp_allocated_buf;
- u32 cmd_issued_cnt;
u32 cmd_done_cnt;
u32 rsp_cnt;
u8 cmdthd_running;
--
2.30.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
` (3 preceding siblings ...)
2022-01-02 17:59 ` [PATCH 4/5] staging: r8188eu: cmd_issued_cnt " Martin Kaiser
@ 2022-01-02 17:59 ` Martin Kaiser
2022-01-02 21:44 ` Pavel Skripkin
2022-01-02 18:41 ` [PATCH 0/5] staging: r8188eu: some trivial cleanups Michael Straube
5 siblings, 1 reply; 10+ messages in thread
From: Martin Kaiser @ 2022-01-02 17:59 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel, Martin Kaiser
Turbo scan is always disabled. Remove the TurboScanOff variable and
related checks.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 21 +++++++------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
index 0b982cc7c86f..6e0231099986 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
@@ -87,28 +87,21 @@ rtl8188e_PHY_RF6052SetCckTxPower(
struct hal_data_8188e *pHalData = &Adapter->haldata;
struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
u32 TxAGC[2] = {0, 0}, tmpval = 0, pwrtrac_value;
- bool TurboScanOff = false;
u8 idx1, idx2;
u8 *ptr;
u8 direction;
- /* FOR CE ,must disable turbo scan */
- TurboScanOff = true;
if (pmlmeext->sitesurvey_res.state == SCAN_PROCESS) {
TxAGC[RF_PATH_A] = 0x3f3f3f3f;
TxAGC[RF_PATH_B] = 0x3f3f3f3f;
- TurboScanOff = true;/* disable turbo scan */
-
- if (TurboScanOff) {
- for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
- TxAGC[idx1] =
- pPowerlevel[idx1] | (pPowerlevel[idx1] << 8) |
- (pPowerlevel[idx1] << 16) | (pPowerlevel[idx1] << 24);
- /* 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20. */
- if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA)
- TxAGC[idx1] = 0x20;
- }
+ for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
+ TxAGC[idx1] =
+ pPowerlevel[idx1] | (pPowerlevel[idx1] << 8) |
+ (pPowerlevel[idx1] << 16) | (pPowerlevel[idx1] << 24);
+ /* 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20. */
+ if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA)
+ TxAGC[idx1] = 0x20;
}
} else {
for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
--
2.30.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/5] staging: r8188eu: some trivial cleanups
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
` (4 preceding siblings ...)
2022-01-02 17:59 ` [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu Martin Kaiser
@ 2022-01-02 18:41 ` Michael Straube
5 siblings, 0 replies; 10+ messages in thread
From: Michael Straube @ 2022-01-02 18:41 UTC (permalink / raw)
To: Martin Kaiser, Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, linux-staging, linux-kernel
On 1/2/22 18:59, Martin Kaiser wrote:
> Remove unused variables and defines in several places.
>
> Martin Kaiser (5):
> staging: r8188eu: remove unused power management defines
> staging: r8188eu: internal autosuspend is always false
> staging: r8188eu: fix_rate is set but not used.
> staging: r8188eu: cmd_issued_cnt is set but not used
> staging: r8188eu: turbo scan is always off for r8188eu
>
> drivers/staging/r8188eu/core/rtw_cmd.c | 3 ---
> drivers/staging/r8188eu/core/rtw_pwrctrl.c | 9 +-------
> drivers/staging/r8188eu/hal/rtl8188e_dm.c | 1 -
> drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 21 +++++++------------
> drivers/staging/r8188eu/include/drv_types.h | 2 --
> drivers/staging/r8188eu/include/rtw_cmd.h | 1 -
> drivers/staging/r8188eu/include/rtw_pwrctrl.h | 5 -----
> drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 ------
> drivers/staging/r8188eu/os_dep/os_intfs.c | 4 ----
> drivers/staging/r8188eu/os_dep/usb_intf.c | 3 +--
> 10 files changed, 9 insertions(+), 46 deletions(-)
>
Looks good to me. For all patches:
Acked-by: Michael Straube <straube.linux@gmail.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu
2022-01-02 17:59 ` [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu Martin Kaiser
@ 2022-01-02 21:44 ` Pavel Skripkin
2022-01-04 20:51 ` Martin Kaiser
0 siblings, 1 reply; 10+ messages in thread
From: Pavel Skripkin @ 2022-01-02 21:44 UTC (permalink / raw)
To: Martin Kaiser, Greg Kroah-Hartman
Cc: Larry Finger, Phillip Potter, Michael Straube, linux-staging,
linux-kernel
On 1/2/22 20:59, Martin Kaiser wrote:
> Turbo scan is always disabled. Remove the TurboScanOff variable and
> related checks.
>
> Signed-off-by: Martin Kaiser <martin@kaiser.cx>
> ---
> drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 21 +++++++------------
> 1 file changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
> index 0b982cc7c86f..6e0231099986 100644
> --- a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
> +++ b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
> @@ -87,28 +87,21 @@ rtl8188e_PHY_RF6052SetCckTxPower(
> struct hal_data_8188e *pHalData = &Adapter->haldata;
> struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
> u32 TxAGC[2] = {0, 0}, tmpval = 0, pwrtrac_value;
> - bool TurboScanOff = false;
> u8 idx1, idx2;
> u8 *ptr;
> u8 direction;
> - /* FOR CE ,must disable turbo scan */
> - TurboScanOff = true;
>
> if (pmlmeext->sitesurvey_res.state == SCAN_PROCESS) {
> TxAGC[RF_PATH_A] = 0x3f3f3f3f;
> TxAGC[RF_PATH_B] = 0x3f3f3f3f;
>
> - TurboScanOff = true;/* disable turbo scan */
> -
> - if (TurboScanOff) {
> - for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
> - TxAGC[idx1] =
> - pPowerlevel[idx1] | (pPowerlevel[idx1] << 8) |
> - (pPowerlevel[idx1] << 16) | (pPowerlevel[idx1] << 24);
> - /* 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20. */
> - if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA)
> - TxAGC[idx1] = 0x20;
> - }
> + for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
> + TxAGC[idx1] =
> + pPowerlevel[idx1] | (pPowerlevel[idx1] << 8) |
> + (pPowerlevel[idx1] << 16) | (pPowerlevel[idx1] << 24);
> + /* 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20. */
> + if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA)
> + TxAGC[idx1] = 0x20;
> }
> } else {
> for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
Hi Martin,
thanks for your clean up work!
It's a bit unrelated to the patch, but I found it while reviewing this.
It's in the same function rtl8188e_PHY_RF6052SetCckTxPower():
89: u32 TxAGC[2] = {0, 0};
...
92 u8 *ptr;
...
129 for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
130 ptr = (u8 *)(&TxAGC[idx1]);
131 for (idx2 = 0; idx2 < 4; idx2++) {
132 if (*ptr > RF6052_MAX_TX_PWR)
133 *ptr = RF6052_MAX_TX_PWR;
134 ptr++;
135 }
136 }
What is going on here? Code just checks and writes to random place on
stack outside TxAGC array? I might be missing something, but it looks
wrong...
Just wanted to share, since I believe your knowledge about this driver
is much deeper than mine :)
thanks
With regards,
Pavel Skripkin
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu
2022-01-02 21:44 ` Pavel Skripkin
@ 2022-01-04 20:51 ` Martin Kaiser
2022-01-04 20:52 ` Pavel Skripkin
0 siblings, 1 reply; 10+ messages in thread
From: Martin Kaiser @ 2022-01-04 20:51 UTC (permalink / raw)
To: Pavel Skripkin
Cc: Greg Kroah-Hartman, Larry Finger, Phillip Potter,
Michael Straube, linux-staging, linux-kernel
Hi Pavel,
Thus wrote Pavel Skripkin (paskripkin@gmail.com):
> It's a bit unrelated to the patch, but I found it while reviewing this. It's
> in the same function rtl8188e_PHY_RF6052SetCckTxPower():
> 89: u32 TxAGC[2] = {0, 0};
> ...
> 92 u8 *ptr;
> ...
> 129 for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
> 130 ptr = (u8 *)(&TxAGC[idx1]);
> 131 for (idx2 = 0; idx2 < 4; idx2++) {
> 132 if (*ptr > RF6052_MAX_TX_PWR)
> 133 *ptr = RF6052_MAX_TX_PWR;
> 134 ptr++;
> 135 }
> 136 }
> What is going on here? Code just checks and writes to random place on stack
> outside TxAGC array? I might be missing something, but it looks wrong...
TxAGC is two 32-bit values, i.e. 2 x 4 Bytes. The outer loop selects a
32-bit array entry, the inner loop iterates over each byte of this entry
and checks that it is <= RF6052_MAX_TX_PWR. I don't think this writes past
the end of the TxAGC[] array.
The rtlwifi driver contains a similar check in
rtl92ce_phy_rf6052_set_cck_txpower().
Best regards,
Martin
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu
2022-01-04 20:51 ` Martin Kaiser
@ 2022-01-04 20:52 ` Pavel Skripkin
0 siblings, 0 replies; 10+ messages in thread
From: Pavel Skripkin @ 2022-01-04 20:52 UTC (permalink / raw)
To: Martin Kaiser
Cc: Greg Kroah-Hartman, Larry Finger, Phillip Potter,
Michael Straube, linux-staging, linux-kernel
On 1/4/22 23:51, Martin Kaiser wrote:
> Hi Pavel,
>
> Thus wrote Pavel Skripkin (paskripkin@gmail.com):
>
>> It's a bit unrelated to the patch, but I found it while reviewing this. It's
>> in the same function rtl8188e_PHY_RF6052SetCckTxPower():
>
>> 89: u32 TxAGC[2] = {0, 0};
>> ...
>> 92 u8 *ptr;
>> ...
>> 129 for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
>> 130 ptr = (u8 *)(&TxAGC[idx1]);
>> 131 for (idx2 = 0; idx2 < 4; idx2++) {
>> 132 if (*ptr > RF6052_MAX_TX_PWR)
>> 133 *ptr = RF6052_MAX_TX_PWR;
>> 134 ptr++;
>> 135 }
>> 136 }
>
>
>> What is going on here? Code just checks and writes to random place on stack
>> outside TxAGC array? I might be missing something, but it looks wrong...
>
> TxAGC is two 32-bit values, i.e. 2 x 4 Bytes. The outer loop selects a
> 32-bit array entry, the inner loop iterates over each byte of this entry
> and checks that it is <= RF6052_MAX_TX_PWR. I don't think this writes past
> the end of the TxAGC[] array.
>
Oh.... I should have go to sleep earlier that evening, sorry. I've
missed, that this array is u32, but not u8.
Sorry for that noise :(
With regards,
Pavel Skripkin
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-01-04 20:52 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-02 17:59 [PATCH 0/5] staging: r8188eu: some trivial cleanups Martin Kaiser
2022-01-02 17:59 ` [PATCH 1/5] staging: r8188eu: remove unused power management defines Martin Kaiser
2022-01-02 17:59 ` [PATCH 2/5] staging: r8188eu: internal autosuspend is always false Martin Kaiser
2022-01-02 17:59 ` [PATCH 3/5] staging: r8188eu: fix_rate is set but not used Martin Kaiser
2022-01-02 17:59 ` [PATCH 4/5] staging: r8188eu: cmd_issued_cnt " Martin Kaiser
2022-01-02 17:59 ` [PATCH 5/5] staging: r8188eu: turbo scan is always off for r8188eu Martin Kaiser
2022-01-02 21:44 ` Pavel Skripkin
2022-01-04 20:51 ` Martin Kaiser
2022-01-04 20:52 ` Pavel Skripkin
2022-01-02 18:41 ` [PATCH 0/5] staging: r8188eu: some trivial cleanups Michael Straube
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome