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.
staging: rtl8723bs: Fix return type for implementation of ndo_start_xmit
CFI (Control Flow Integrity) is a safety feature allowing the system to
detect and react should a potential control flow hijacking occurs. In
particular, the Forward-Edge CFI protects indirect function calls by
ensuring the prototype of function that is actually called matches the
definition of the function hook.
Since Linux now supports CFI, it will be a good idea to fix mismatched
return type for implementation of hooks. Otherwise this would get
cought out by CFI and cause a panic.
Use enums from netdev_tx_t as return value instead. Then change return
type to netdev_tx_t.
staging: rtl8192e: Fix return type for implementation of ndo_start_xmit
CFI (Control Flow Integrity) is a safety feature allowing the system to
detect and react should a potential control flow hijacking occurs. In
particular, the Forward-Edge CFI protects indirect function calls by
ensuring the prototype of function that is actually called matches the
definition of the function hook.
Since Linux now supports CFI, it will be a good idea to fix mismatched
return type for implementation of hooks. Otherwise this would get
cought out by CFI and cause a panic.
Use enums from netdev_tx_t as return value instead, then change return
type to netdev_tx_t. Note that rtllib_xmit_inter() would return 1 only
on allocation failure and the queue is stopped if that happens, meeting
the documented requirement if NETDEV_TX_BUSY should be returned by
ndo_start_xmit.
staging: rtl8712: Fix return type for implementation of ndo_start_xmit
CFI (Control Flow Integrity) is a safety feature allowing the system to
detect and react should a potential control flow hijacking occurs. In
particular, the Forward-Edge CFI protects indirect function calls by
ensuring the prototype of function that is actually called matches the
definition of the function hook.
Since Linux now supports CFI, it will be a good idea to fix mismatched
return type for implementation of hooks. Otherwise this would get
cought out by CFI and cause a panic.
Use enums from netdev_tx_t as return value instead, then change return
type to netdev_tx_t.
staging: greybus: audio_helper: remove unused and wrong debugfs usage
In the greybus audio_helper code, the debugfs file for the dapm has the
potential to be removed and memory will be leaked. There is also the
very real potential for this code to remove ALL debugfs entries from the
system, and it seems like this is what will really happen if this code
ever runs. This all is very wrong as the greybus audio driver did not
create this debugfs file, the sound core did and controls the lifespan
of it.
So remove all of the debugfs logic from the audio_helper code as there's
no way it could be correct. If this really is needed, it can come back
with a fixup for the incorrect usage of the debugfs_lookup() call which
is what caused this to be noticed at all.
Remove the RETURN labels in rtw_alloc_etherdev_with_old_priv() and
rtw_alloc_etherdev() and return directly to clean up the code and
improve readability.