Michael Straube [Wed, 28 Sep 2022 14:43:23 +0000 (16:43 +0200)]
staging: r8188eu: convert ODM_ReadAndConfig_AGC_TAB_1T_8188E() to int
The function ODM_ReadAndConfig_AGC_TAB_1T_8188E() has return type
'enum HAL_STATUS'. Convert the return type to int and use common
kernel error logic. Return 0 on success and negative values on
failure. The enum HAL_STATUS is unused now and we can remove it.
Michael Straube [Wed, 28 Sep 2022 14:43:22 +0000 (16:43 +0200)]
staging: r8188eu: convert ODM_ReadAndConfig_PHY_REG_1T_8188E() to int
The function ODM_ReadAndConfig_PHY_REG_1T_8188E() has return type
'enum HAL_STATUS'. Convert the return type to int and use common
kernel error logic. Return 0 on success and negative values on
failure. The goal is to get rid of enum HAL_STATUS in the end.
Michael Straube [Wed, 28 Sep 2022 14:43:21 +0000 (16:43 +0200)]
staging: r8188eu: convert ODM_ReadAndConfig_RadioA_1T_8188E() to int
The function ODM_ReadAndConfig_RadioA_1T_8188E() has return type
'enum HAL_STATUS'. Convert the return type to int and use common
kernel error logic. Return 0 on success and negative values on
failure. The goal is to get rid of enum HAL_STATUS in the end.
Michael Straube [Wed, 28 Sep 2022 14:43:20 +0000 (16:43 +0200)]
staging: r8188eu: convert ODM_ReadAndConfig_MAC_REG_8188E() to int
The function ODM_ReadAndConfig_MAC_REG_8188E() has return type
'enum HAL_STATUS'. Convert the return type to int and use common
kernel error logic. Return 0 on success and negative values on
failure. The goal is to get rid of enum HAL_STATUS in the end.
Michael Straube [Mon, 26 Sep 2022 17:32:43 +0000 (19:32 +0200)]
staging: r8188eu: remove hal/odm_RegConfig8188E.c
All remaining functions in hal/odm_RegConfig8188E.c are only used
in hal/HalHWImg8188E_BB.c. Make them static and remove the now empty
file hal/odm_RegConfig8188E.c and the header odm_RegConfig8188E.h.
Remove unused variables that are may just once written but never read
ForcedAMSDUMaxSize, PeerBandwidth, SwBwStep, bIsPeerBcm and
bAcceptAddbaReq to avoid CamelCase which is not accepted by checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:04:12 +0000 (00:04 +0200)]
staging: rtl8192e: Rename CurrentMPDU..., ForcedAMPDU... and ForcedMPDU...
Rename variable CurrentMPDUDensity to current_mpdu_density,
ForcedAMPDUFactor to forced_ampdu_factor and ForcedMPDUDensity to
forced_mpdu_density to avoid CamelCase which is not accepted by
checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:04:03 +0000 (00:04 +0200)]
staging: rtl8192e: Rename SelfMimoPs, CurrentOpMode and bForcedShortGI
Rename variable SelfMimoPs to self_mimo_ps, CurrentOpMode to
current_op_mode and bForcedShortGI to forced_short_gi to avoid CamelCase
which is not accepted by checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:56 +0000 (00:03 +0200)]
staging: rtl8192e: Rename PeerMimoPs, IOTAction and IOTRaFunc
Rename variable PeerMimoPs to peer_mimo_ps, IOTAction to iot_action and
IOTRaFunc to iot_ra_func to avoid CamelCase which is not accepted by
checkpatch. Added spaces around '&' as proposed by checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:49 +0000 (00:03 +0200)]
staging: rtl8192e: Rename RxRe...WinSize, RxReorder... and RxReorderDr...
Rename variable RxReorderWinSize to rx_reorder_win_size,
RxReorderPendingTime to rx_reorder_pending_time and RxReorderDropCounter
to rx_reorder_drop_counter to avoid CamelCase which is not accepted by
checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:42 +0000 (00:03 +0200)]
staging: rtl8192e: Rename szRT2RTAggBuffer, bRegRxRe... and bCurRxReo...
Rename variable szRT2RTAggBuffer to sz_rt2rt_agg_buf, bRegRxReorderEnable
to reg_rx_reorder_enable and bCurRxReorderEnable to cur_rx_reorder_enable
to avoid CamelCase which is not accepted by checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:31 +0000 (00:03 +0200)]
staging: rtl8192e: Rename bSwBwInPro..., bRegRT2RTAg... and bCurrentRT...
Rename variable bSwBwInProgress to sw_bw_in_progress, bRegRT2RTAggregation
to reg_rt2rt_aggregation and bCurrentRT2RTAggregation to
current_rt2rt_aggregation to avoid CamelCase which is not accepted by
checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:24 +0000 (00:03 +0200)]
staging: rtl8192e: Rename dot11Cur..., bCurTxBW40MHz and bCurrentRT2...
Rename variable dot11CurrentPreambleMode to dot11_current_preamble_mode,
bCurTxBW40MHz to cur_tx_bw40mhz and bCurrentRT2RTLongSlotTime to
current_rt2rt_long_slot_time to avoid CamelCase which is not accepted
by checkpatch.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:16 +0000 (00:03 +0200)]
staging: rtl8192e: Rename eRfSleep, eRfPowerStateToSet and RfOffReason
Rename variable eRfSleep to rf_sleep, eRfPowerStateToSet to
rf_power_state_to_set and RfOffReason to rf_off_reason to avoid CamelCase
which is not accepted by checkpatch. Omit the upfront "e" as no RfSleep
and RfPowerStateToSet exist and it makes the variables unnecessary long.
Philipp Hortmann [Sat, 24 Sep 2022 22:03:07 +0000 (00:03 +0200)]
staging: rtl8192e: Rename eRFPowerState, eRfOff and eRfOn
Rename variable eRFPowerState to rf_power_state, eRfOff to rf_off and
eRfOn to rf_on to avoid CamelCase which is not accepted by checkpatch.
Omit the upfront "e" as no RFPowerState, RfOff and RfOn exist and it
makes the variables unnecessary long.
In the years since it was added (2012), no one has stepped up to
maintain this properly and get it merged into the kernel tree. So
remove it as it's obviously not being used.
If it is being used, we can easily revert this and take the time to get
it out of the staging tree.
Rename: Current_Tx_Rate_Reg to CURRENT_TX_RATE_REG, Initial_Tx_Rate_Reg to
INITIAL_TX_RATE_REG and Tx_Retry_Count_Reg to TX_RETRY_COUNT_REG to avoid
CamelCase which is not accepted by checkpatch.pl.
Martin Kaiser [Sun, 18 Sep 2022 17:56:58 +0000 (19:56 +0200)]
staging: r8188eu: remove BlinkingLedState
Both bLedOn and BlinkingLedState in struct led_priv store the same
information.
The boolean bLedOn stores the curent led state while BlinkingLedState
stores the next led state to be set during blinking, which is the inverse
of the current led state. (The led is either off or blinking, it's never
continuously on.)
This patch removes BlinkingLedState and uses bLedOn instead.
The LED_BLINK_WPS_STOP case in blink_work checked for
pLed->BlinkingLedState != RTW_LED_ON. This is true if the next led
blinking state is ON, i.e. if the led has just been switched off by
blink_work, i.e. if (!pLed->bLedOn).
Remove the bLedNoLinkBlinkInProgress state variable. Its sole purpose is
to block subsequent requests for "no link" blinking when this blinking
pattern is already active.
It's perfectly safe to restart "no link" blinking. We can remove
bLedNoLinkBlinkInProgress and the many places where it's updated.
Martin Kaiser [Sun, 18 Sep 2022 17:56:55 +0000 (19:56 +0200)]
staging: r8188eu: cancel blink_work during wps stop
We can always cancel blink_work during wps_stop. The blinking pattern will
be updated to show that wps was successful. Another worker will be started
for this.
Xiaoke Wang [Tue, 13 Sep 2022 13:24:05 +0000 (21:24 +0800)]
staging: r8188eu: fix potential memory leak in _rtw_init_xmit_priv()
In _rtw_init_xmit_priv(), there are several error paths for allocation
failures just jump to the `exit` section. However, there is no action
will be performed, so the allocated resources are not properly released,
which leads to various memory leaks.
To properly release them, this patch unifies the error handling code and
several error handling paths are added.
According to the allocation sequence, if the validation fails, it will
jump to its corresponding error tag to release the resources.
Xiaoke Wang [Mon, 12 Sep 2022 02:50:26 +0000 (10:50 +0800)]
staging: r8188eu: add kfree() on an error path of rtw_xmit_resource_alloc()
In rtw_xmit_resource_alloc(), if usb_alloc_urb() fails, then the memory
`pxmitbuf->pallocated_buf` which is allocated by kzalloc() is not properly
released before returning.
So this patch adds kfree() on the above error path to release it in time.
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150 Reviewed-by: Martin Kaiser <martin@kaiser.cx> Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com> Link: https://lore.kernel.org/r/tencent_3B46EE3287288555389AD2EC3F388827B306@qq.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Michael Straube [Sun, 11 Sep 2022 17:49:33 +0000 (19:49 +0200)]
staging: r8188eu: remove recv_osdep.h
The functions _rtw_init_recv_priv(), _rtw_free_recv_priv() and
rtw_recv_entry() are defined in rtw_recv.c. Move their prototypes from
recv_osdep.h to rtw_recv.h.
Move the last two remaining prototypes netdev_open() and netdev_close()
from recv_osdep.h to osdep_intf.h. That is a more appropriate place and
we can remove recv_osdep.h.
Xiaoke Wang [Fri, 9 Sep 2022 11:45:57 +0000 (19:45 +0800)]
staging: r8188eu: fix a potential memory leak in rtw_init_cmd_priv()
In rtw_init_cmd_priv(), if `pcmdpriv->rsp_allocated_buf` is allocated
in failure, then `pcmdpriv->cmd_allocated_buf` will not be properly
released. Besides, considering there are only two error paths and the
first one can directly return, we do not need to implicitly jump to the
`exit` tag to execute the error handling code.
So this patch added `kfree(pcmdpriv->cmd_allocated_buf);` on the error
path to release the resource and simplified the return logic of
rtw_init_cmd_priv(). As there is no proper device to test with, no
runtime testing was performed.
Nam Cao [Mon, 12 Sep 2022 17:04:31 +0000 (19:04 +0200)]
staging: vt6655: fix some erroneous memory clean-up loops
In some initialization functions of this driver, memory is allocated with
'i' acting as an index variable and increasing from 0. The commit in
"Fixes" introduces some clean-up codes in case of allocation failure,
which free memory in reverse order with 'i' decreasing to 0. However,
there are some problems:
- The case i=0 is left out. Thus memory is leaked.
- In case memory allocation fails right from the start, the memory
freeing loops will start with i=-1 and invalid memory locations will
be accessed.
One of these loops has been fixed in commit c8ff91535880 ("staging:
vt6655: fix potential memory leak"). Fix the remaining erroneous loops.
Xiaoke Wang [Fri, 9 Sep 2022 11:27:21 +0000 (19:27 +0800)]
staging: rtl8723bs: fix a potential memory leak in rtw_init_cmd_priv()
In rtw_init_cmd_priv(), if `pcmdpriv->rsp_allocated_buf` is allocated
in failure, then `pcmdpriv->cmd_allocated_buf` will be not properly
released. Besides, considering there are only two error paths and the
first one can directly return, so we do not need implicitly jump to the
`exit` tag to execute the error handler.
So this patch added `kfree(pcmdpriv->cmd_allocated_buf);` on the error
path to release the resource and simplified the return logic of
rtw_init_cmd_priv(). As there is no proper device to test with, no runtime
testing was performed.
Xiaoke Wang [Fri, 9 Sep 2022 10:39:35 +0000 (18:39 +0800)]
staging: rtl8723bs: fix potential memory leak in rtw_init_drv_sw()
In rtw_init_drv_sw(), there are various init functions are called to
populate the padapter structure and some checks for their return value.
However, except for the first one error path, the other five error paths
do not properly release the previous allocated resources, which leads to
various memory leaks.
This patch fixes them and keeps the success and error separate.
Note that these changes keep the form of `rtw_init_drv_sw()` in
"drivers/staging/r8188eu/os_dep/os_intfs.c". As there is no proper device
to test with, no runtime testing was performed.
Philipp Hortmann [Sat, 17 Sep 2022 04:25:58 +0000 (06:25 +0200)]
staging: rtl8192e: Remove ftrace-like logging in rtl819x_BAProc.c, ...
Remove "Unnecessary ftrace-like logging" as requested by checkpatch.
Remove multiline macro as it is not needed anymore and not liked by
kernel community.
Instead of invoking a synchronize_rcu() to free a pointer after a grace
period, we can directly make use of a new API that does the same but in
a more efficient way.
Philipp Hortmann [Sun, 11 Sep 2022 10:47:29 +0000 (12:47 +0200)]
staging: vt6655: Rename function MACvSetCurrAC0DescAddrEx
Rename function MACvSetCurrAC0DescAddrEx to vt6655_mac_set_curr_ac_0...
to avoid CamelCase which is not accepted by checkpatch.pl. Remove
unnecessary declaration of function and make function static. Remove
unnecessary line break.
Philipp Hortmann [Sun, 11 Sep 2022 10:47:22 +0000 (12:47 +0200)]
staging: vt6655: Rename function MACvSetCurrTx0DescAddrEx
Rename function MACvSetCurrTx0DescAddrEx to vt6655_mac_set_curr_tx_0_...
to avoid CamelCase which is not accepted by checkpatch.pl. Remove
unnecessary declaration of function and make function static. Remove
unnecessary line break.
Philipp Hortmann [Sun, 11 Sep 2022 10:47:15 +0000 (12:47 +0200)]
staging: vt6655: Cleanup and rename function MACvSetCurrTXDescAddr
Rename function MACvSetCurrTXDescAddr to vt6655_mac_set_curr_tx_desc_addr
and iTxType to tx_type to avoid CamelCase which is not accepted by
checkpatch.pl. Remove unnecessary line break.
Philipp Hortmann [Sun, 11 Sep 2022 10:47:07 +0000 (12:47 +0200)]
staging: vt6655: Rename function MACvSetCurrRx1DescAddr
Rename function MACvSetCurrRx1DescAddr to vt6655_mac_set_curr_rx_1_desc...
to avoid CamelCase which is not accepted by checkpatch.pl. Remove
unnecessary line break.
Philipp Hortmann [Sun, 11 Sep 2022 10:46:57 +0000 (12:46 +0200)]
staging: vt6655: Rename function MACvSetCurrRx0DescAddr
Rename function MACvSetCurrRx0DescAddr to vt6655_mac_set_curr_rx_0_desc...
to avoid CamelCase which is not accepted by checkpatch.pl. Remove
unnecessary line break.
Philipp Hortmann [Sun, 11 Sep 2022 10:46:35 +0000 (12:46 +0200)]
staging: vt6655: Rename function MACbSafeStop
Rename function MACbSafeStop to vt6655_mac_safe_stop to avoid CamelCase
which is not accepted by checkpatch.pl. Remove unnecessary declaration
of function and make function static.
Philipp Hortmann [Sun, 11 Sep 2022 10:46:23 +0000 (12:46 +0200)]
staging: vt6655: Rename function MACbSafeTxOff
Rename function MACbSafeTxOff to vt6655_mac_safe_tx_off to avoid
CamelCase which is not accepted by checkpatch.pl. Remove unnecessary
declaration of function and make function static.
Philipp Hortmann [Sun, 11 Sep 2022 10:46:15 +0000 (12:46 +0200)]
staging: vt6655: Rename function MACbSafeRxOff
Rename function MACbSafeRxOff to vt6655_mac_safe_rx_off to avoid
CamelCase which is not accepted by checkpatch.pl. Remove unnecessary
declaration of function and make function static.
Philipp Hortmann [Sun, 11 Sep 2022 10:46:04 +0000 (12:46 +0200)]
staging: vt6655: Cleanup and rename function MACbSafeSoftwareReset
Rename function MACbSafeSoftwareReset to vt6655_mac_save_soft_reset and
abyTmpRegData to tmp_reg_data to avoid CamelCase which is not accepted by
checkpatch.pl. Remove return value bRetVal as it is unused by the calling
functions. Remove unnecessary declaration of function and make function
static. Change declaration of tmp_reg_data to shorten code.
Philipp Hortmann [Sun, 11 Sep 2022 10:45:53 +0000 (12:45 +0200)]
staging: vt6655: Cleanup and rename function MACvRestoreContext
Rename function MACvRestoreContext to vt6655_mac_restore_context to avoid
CamelCase which is not accepted by checkpatch.pl. Remove unnecessary
declaration of function and make function static. Change declaration of
cxt_buf to shorten code.
Philipp Hortmann [Sun, 11 Sep 2022 10:45:42 +0000 (12:45 +0200)]
staging: vt6655: Cleanup and rename function MACvSaveContext
Rename function MACvSaveContext to vt6655_mac_save_context to avoid
CamelCase which is not accepted by checkpatch.pl. Remove unnecessary
declaration of function and make function static. Change declaration of
cxt_buf to shorten code.
Philipp Hortmann [Sun, 11 Sep 2022 10:45:29 +0000 (12:45 +0200)]
staging: vt6655: Cleanup and rename function MACvSetLoopbackMode
Rename function MACvSetLoopbackMode to vt6655_mac_set_loopback_mode and
byLoopbackMode to loopback_mode to avoid CamelCase which is not accepted
by checkpatch.pl. Remove unnecessary declaration of function and made
function static. Change declaration of loopback_mode to shorten code and
remove unnecessary line break.
Nam Cao [Fri, 9 Sep 2022 14:13:39 +0000 (16:13 +0200)]
staging: vt6655: fix potential memory leak
In function device_init_td0_ring, memory is allocated for member
td_info of priv->apTD0Rings[i], with i increasing from 0. In case of
allocation failure, the memory is freed in reversed order, with i
decreasing to 0. However, the case i=0 is left out and thus memory is
leaked.
Modify the memory freeing loop to include the case i=0.