Jaehee Park [Fri, 1 Apr 2022 14:53:50 +0000 (10:53 -0400)]
staging: wfx: change variable name to be consistent
Change variable name to be consistent with the naming conventions.
ssidlen was changed to ssid_len and ssidie was changed to ssid_ie to be
consistent. This makes the variables more readable. The other ssid
names in the code are separated by an underscore. For example,
bssid_filter and num_of_ssids have the ssid separated from the rest of
the words with an underscore.
Michael Straube [Sun, 3 Apr 2022 10:37:12 +0000 (12:37 +0200)]
staging: r8188eu: remove macro rtw_pwr_wakeup()
After previous cleanups the rtw_pwr_wakeup() macro is just an alias
for _rtw_pwr_wakeup(). Remove the macro and rename _rtw_pwr_wakeup()
to rtw_pwr_wakeup().
Michael Straube [Sat, 2 Apr 2022 09:23:32 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_H2C_FW_P2P_PS_OFFLOAD from SetHwReg8188EU()
The HW_VAR_H2C_FW_P2P_PS_OFFLOAD case in SetHwReg8188EU() just calls a
function. Call the function directly and remove the
HW_VAR_H2C_FW_P2P_PS_OFFLOAD case from SetHwReg8188EU(). This is part
of the ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Sat, 2 Apr 2022 09:23:31 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_H2C_FW_JOINBSSRPT from SetHwReg8188EU()
The HW_VAR_H2C_FW_JOINBSSRPT case in SetHwReg8188EU() just calls a
function. Call the function directly and remove the
HW_VAR_H2C_FW_JOINBSSRPT case from SetHwReg8188EU(). This is part of
the ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Sat, 2 Apr 2022 09:23:30 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_RPT_TIMER_SETTING from SetHwReg8188EU()
Remove the HW_VAR_RPT_TIMER_SETTING case from SetHwReg8188EU() and
move its functionality to rtw_cmd.c where it is actually used. This is
part of the ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Sat, 2 Apr 2022 09:23:29 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_ANTENNA_DIVERSITY_SELECT from SetHwReg8188EU()
Remove the HW_VAR_ANTENNA_DIVERSITY_SELECT case from SetHwReg8188EU()
and move its functionality to rtw_cmd.c where it is actually used.
This is part of the ongoing effort to get rid of the unwanted hal
layer.
Michael Straube [Sat, 2 Apr 2022 09:23:28 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_AMPDU_MIN_SPACE from SetHwReg8188EU()
Remove the HW_VAR_AMPDU_MIN_SPACE case from SetHwReg8188EU() and move
its functionality to rtw_wlan_util.c where it is actually used. This
is part of the ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Sat, 2 Apr 2022 09:23:27 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_ACK_PREAMBLE from SetHwReg8188EU()
Remove the HW_VAR_ACK_PREAMBLE case from SetHwReg8188EU() and move
its functionality to rtw_wlan_util.c where it is actually used. This
is part of the ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Sat, 2 Apr 2022 09:23:26 +0000 (11:23 +0200)]
staging: r8188eu: remove HW_VAR_BSSID from SetHwReg8188EU()
Remove the HW_VAR_BSSID case from SetHwReg8188EU() and move its
functionality to rtw_mlme_ext.c where it is actually used. This is
part of the ongoing effort to get rid of the unwanted hal layer.
staging: sm750fb: Call iounmap() to free mapped bus memory
If ioremap_wc() fails, the code jumps to the "exit" label and forgets to
free the bus memory mapped into "sm750_dev->pvReg". Mapped bus memory must
always be freed by calling iounmap().
Call iounmap(sm750_dev->pvReg) when the above-mentioned failures happen.
The site of the missing iounmap() has been detected by Smatch.
staging: r8188eu: Remove redundant code from rtw_free_netdev()
In rtw_free_netdev() there are two redundant tests. The first checks for
a valid pointer to a "struct net_device". This pointer is the argument
of rtw_free_netdev(). The two callers of this function already test this
parameter immediatelly before the calls. The second checks for a valid
pointer to a "struct rtw_netdev_priv_indicator". This pointer is always
valid and, even if it were not, vfree() is a no-op on NULL pointers.
Therefore the above-mentioned two "if" statements are unnecessary and
redundant. For this reason, remove these two tests.
After removing these tests there is no more need of the "RETURN" label.
Therefore, remove also the "RETURN" label.
The function iterates an index from 0 to NUM_PMKID_CACHE and returns
the first index for which the condition is true. If no such index is
found, the function returns -1. Current code has a complex control
flow that obfuscates this simple task. Replace it with a loop.
Also, given the shortened function body, replace the long variable
name psecuritypriv with a short variable name p.
Reported by checkpatch:
WARNING: else is not generally useful after a break or return
staging: vc04_services: Convert kmap() to kmap_local_page()
The use of kmap() is being deprecated in favor of kmap_local_page()
where it is feasible. In file interface/vchiq_arm/vchiq_arm.c,
function free_pagelist() calls kmap() / kunmap() from two places.
With kmap_local_page(), the mapping is per thread, CPU local and not
globally visible. Therefore, free_pagelist() is a function where the
use of kmap_local_page() in place of kmap() is correctly suited.
Convert to kmap_local_page() but, instead of open coding it, use the
memcpy_to_page() helper.
Michael Straube [Thu, 31 Mar 2022 21:41:46 +0000 (23:41 +0200)]
staging: rtl8723bs: refactor rtw_ch2freq()
Convert the array ch_freq_map to a simple integer array and use
the indices as channel numbers. This simplifies the code and avoids
looping through the array to get the frequency. To avoid out of
bounds array access return a default value for invalid channel values,
like the original code did.
Michael Straube [Thu, 31 Mar 2022 21:41:45 +0000 (23:41 +0200)]
staging: rtl8723bs: remove 5 GHz channels from ch_freq_map
According to the Realtek documentation the chips this driver supports
are 2.4 GHz only chips. Frequencies for 5 GHz channels can be removed
from the ch_freq_map array.
Rebecca Mckeever [Thu, 31 Mar 2022 17:16:04 +0000 (12:16 -0500)]
staging: r8188eu: use sizeof(*pvar) for allocating structs
Use sizeof(*pvar) instead of sizeof(struct var) when allocating memory.
This conforms to Linux kernel coding style, improves readability,
and decreases the opportunity for bugs if the pointer variable type is
changed. Issue found by checkpatch messages of the following format:
CHECK: Prefer kzalloc(sizeof(*pvar)...) over kzalloc(sizeof(struct var)...)
There is no need for "struct dentry *eth_debugfs_dir" which is used for
debug / sysfs directories. Therefore, remove this "struct dentry" and
everything related (i.e., creation and removal).
As a side effect of this change, the code has no more need of the
"cleanup_register_netdev" label, which can also be removed.
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20220331064751.29634-1-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Michael Straube [Thu, 31 Mar 2022 13:05:22 +0000 (15:05 +0200)]
staging: r8188eu: remove GetHwReg8188EU()
The only call to GetHwReg8188EU() that is left over from previous
cleanups sets a variable that is immediately overwritten. This call
is useless and we can finally remove the GetHwReg8188EU() function.
This is part of the ongoing effort to get rid of the unwanted hal
layer.
Michael Straube [Thu, 31 Mar 2022 13:05:21 +0000 (15:05 +0200)]
staging: r8188eu: remove HW_VAR_FWLPS_RF_ON from GetHwReg8188EU()
Move the functionality of the HW_VAR_FWLPS_RF_ON case in
GetHwReg8188EU() to a static function in rtw_pwrctrl.c and remove the
HW_VAR_FWLPS_RF_ON case from GetHwReg8188EU(). This is part of the
ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Thu, 31 Mar 2022 13:05:20 +0000 (15:05 +0200)]
staging: r8188eu: remove HW_VAR_CHK_HI_QUEUE_EMPTY from GetHwReg8188EU()
The HW_VAR_CHK_HI_QUEUE_EMPTY from GetHwReg8188EU() just calls
rtw_read32(). Remove HW_VAR_CHK_HI_QUEUE_EMPTY from GetHwReg8188EU()
and call rtw_read32() directly. Move the call to a new function to
indicate what it actually does. This is part of the ongoing effort to
get rid of the unwanted hal layer.
Michael Straube [Thu, 31 Mar 2022 13:05:19 +0000 (15:05 +0200)]
staging: r8188eu: remove HW_VAR_BCN_VALID from GetHwReg8188EU()
The HW_VAR_BCN_VALID from GetHwReg8188EU() just calls rtw_read8().
Remove HW_VAR_BCN_VALID from GetHwReg8188EU() and call rtw_read8()
directly. Move the call to a new function to indicate what it actually
does. This is part of the ongoing effort to get rid of the unwanted
hal layer.
Xiaoke Wang [Wed, 30 Mar 2022 11:30:05 +0000 (19:30 +0800)]
staging: r8188eu: add a check for rtw_cbuf_alloc()
kmalloc() is called by rtw_cbuf_alloc() and it returns pointer of
srtuct rtw_cbuf, NULL for allocation failure. So it is better to check
the return value of it.
Martin Kaiser [Wed, 30 Mar 2022 20:12:09 +0000 (22:12 +0200)]
staging: r8188eu: remove the "dump rx packet" fragments
Remove the code fragments for printing incoming packets. There's only a
hal variable HAL_DEF_DBG_DUMP_RXPKT and the bDumpRxPkt component of
struct hal_data_8188e.
The hal variable is set by a private ioctl, it's read in
validate_recv_frame but it's not used.
All of this can be removed, there's no code to dump the packets.
Haowen Bai [Wed, 30 Mar 2022 07:27:21 +0000 (15:27 +0800)]
staging: r8188eu: Fix misspelling in comment "Tranceiver" -> "Transceiver"
This patch fixes some spelling typo in error message reported by
checkpatch.pl
WARNING: 'Tranceiver' may be misspelled - perhaps 'Transceiver'?
WARNING: 'Tranceiver' may be misspelled - perhaps 'Transceiver'?
WARNING: 'Tranceiver' may be misspelled - perhaps 'Transceiver'?
WARNING: 'Tranceiver' may be misspelled - perhaps 'Transceiver'?
Charlie Sands [Wed, 30 Mar 2022 03:14:05 +0000 (23:14 -0400)]
staging: r8188eu: Fix sparse endianness warnings.
This patch fixes sparse warnings about the endianness of different
integers in the driver.
Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver") Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Charlie Sands <sandsch@northvilleschools.net> Link: https://lore.kernel.org/r/YkPK/QmLAp3BkygY@sckzor-linux.localdomain Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Michael Straube [Tue, 29 Mar 2022 20:21:41 +0000 (22:21 +0200)]
staging: r8188eu: remove HW_VAR_BCN_VALID from SetHwReg8188EU()
The HW_VAR_BCN_VALID case in SetHwReg8188EU() just calls rtw_write8().
Remove HW_VAR_BCN_VALID from SetHwReg8188EU() and call rtw_write8()
directly. Move the call to a new function to indicate what it actually
does. This is part of the ongoing effort to getrid of the unwanted hal
layer.
Michael Straube [Tue, 29 Mar 2022 20:21:40 +0000 (22:21 +0200)]
staging: r8188eu: remove HW_VAR_TX_RPT_MAX_MACID from SetHwReg8188EU()
The HW_VAR_TX_RPT_MAX_MACID case in SetHwReg8188EU() just calls
rtw_write8(). Remove HW_VAR_TX_RPT_MAX_MACID from SetHwReg8188EU() and
call rtw_write8() directly. Move the call to a new function to indicate
what it actually does. This is part of the ongoing effort to get rid of
the unwanted hal layer.
Michael Straube [Tue, 29 Mar 2022 20:21:39 +0000 (22:21 +0200)]
staging: r8188eu: simplify if-else statement
Simplify a nested if-else statement to a single if-else statement in
rtw_set_threshold(). This improves readability and allows us to
remove the local variable threshold.
Michael Straube [Tue, 29 Mar 2022 20:21:38 +0000 (22:21 +0200)]
staging: r8188eu: remove HW_VAR_RXDMA_AGG_PG_TH from SetHwReg8188EU()
The HW_VAR_RXDMA_AGG_PG_TH case in SetHwReg8188EU() just sets a
variable conditionally and then calls rtw_write8(). Set the variable
in the caller and call rtw_write8() directly. Move the functionality
into a new static function to make the code cleaner. Remove the
HW_VAR_RXDMA_AGG_PG_TH case from SetHwReg8188EU(). This is part of the
ongoing effort to get rid of the unwanted hal layer.
Michael Straube [Tue, 29 Mar 2022 20:21:37 +0000 (22:21 +0200)]
staging: r8188eu: remove HW_VAR_ACM_CTRL from SetHwReg8188EU()
SetHwReg8188EU() is called with HW_VAR_ACM_CTRL only from a function
in rtw_wlan_util.c. Move the functionality into a static function in
rtw_wlan_util.c and remove the HW_VAR_ACM_CTRL case from
SetHwReg8188EU(). This is part of the ongoing effort to get rid of the
unwanted hal layer.
Michael Straube [Tue, 29 Mar 2022 20:21:35 +0000 (22:21 +0200)]
staging: r8188eu: remove HW_VAR_MLME_DISCONNECT from SetHwReg8188EU()
SetHwReg8188EU() is called with HW_VAR_MLME_DISCONNECT only from
functions in rtw_mlme_ext.c. Move the functionality into a static
function in rtw_mlme_ext.c and remove the HW_VAR_MLME_DISCONNECT case
from SetHwReg8188EU(). This is part of the ongoing effort to get rid
of the unwanted hal layer.
Michael Straube [Tue, 29 Mar 2022 20:21:34 +0000 (22:21 +0200)]
staging: r8188eu: remove HW_VAR_RESP_SIFS from SetHwReg8188EU()
SetHwReg8188EU() is called with HW_VAR_RESP_SIFS only in one place.
Remove the HW_VAR_RESP_SIFS case from SetHwReg8188EU() and call
rtw_write8() directly instead. This is part of the ongoing effort to
get rid of the unwanted hal layer.
staging: rts5208: Convert kmap() to kmap_local_page()
The use of kmap() is being deprecated in favor of kmap_local_page()
where it is feasible.
With kmap_local_page(), the mapping is per thread, CPU local and not
globally visible. Therefore rtsx_stor_access_xfer_buf() is a function
where the use of kmap_local_page() in place of kmap() is correctly
suited.
Convert to kmap_local_page() but, instead of open coding it, use the
helpers memcpy_to_page() and memcpy_from_page().
Make a minor change to a comment related to scatter-gather.
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20220330143331.8306-1-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jaehee Park [Tue, 29 Mar 2022 22:25:34 +0000 (18:25 -0400)]
staging: wfx: remove space at the start of the line
Remove spaces at the start of the line to follow the linux kernel
coding style. Issue found by checkpatch:
WARNING: please, no spaces at the start of a line.
Refactor rtw_inc_and_chk_continual_urb_error(). Return directly
instead of using a return variable and initialize the variable 'value'
at declaration. This shortens the code and improves readability.
Using ternary operator to set a variable to true or false is not
needed. Convert two such uses of ternary operator in
rtw_usb_bulk_size_boundary() to just use the condition and return the
value directly instead of using a return variable. This shortens the
code and improves readability. While at it, remove an unneeded line
break from the function head.
Martin Kaiser [Sun, 27 Mar 2022 18:09:43 +0000 (20:09 +0200)]
staging: r8188eu: use ieee80211 macro for sequence number
Use the IEEE80211_SEQ_TO_SN macro in function validate_recv_frame to get
the sequence number of an incoming frame.
Map the incoming rx bytes to a struct ieee80211_hdr. Replace the fc
variable with struct ieee80211_hdr's frame control component.
The IEEE80211_SEQ_TO_SN macro takes the sequence control field of an
ieee80211 header and extracts the sequence number. The macro's input
parameter must be in host endianness, the sequence number in the 80211
header is little-endian, we have to convert it to host endianness.
Remove the local GetSequence macro, it is not used any more.
Martin Kaiser [Sun, 27 Mar 2022 18:09:36 +0000 (20:09 +0200)]
staging: r8188eu: use ieee80211 define for version check
Use the IEEE80211_FCTL_VERS define to check the version number
of a received frame.
Covert IEEE80211_FCTL_VERS to le16 before using it as a mask for fc,
which is also an le16 value. The ieee80211_... helper functions use
the same approach.
Jakob Koschel [Thu, 24 Mar 2022 07:30:24 +0000 (08:30 +0100)]
staging: vchiq: replace usage of found with dedicated list iterator variable
To move the list iterator variable into the list_for_each_entry_*()
macro in the future it should be avoided to use the list iterator
variable after the loop body.
To *never* use the list iterator variable after the loop it was
concluded to use a separate iterator variable instead of a
found boolean [1].
This removes the need to use a found variable and simply checking if
the variable was set, can determine if the break/goto was hit.
Martin Kaiser [Mon, 21 Mar 2022 20:30:31 +0000 (21:30 +0100)]
staging: r8188eu: refactor dm func set and clear
Refactor the code to set and clear "dm functions".
The only remaining callers of Switch_DM_Func use
Switch_DM_Func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true) or
Switch_DM_Func(padapter, DYNAMIC_FUNC_DISABLE, false).
Remove Switch_DM_Func and call SetHwReg8188EU directly.
For HW_VAR_DM_FUNC_SET, the parameter is always DYNAMIC_ALL_FUNC_ENABLE.
This operation resets podmpriv->SupportAbility to the initial value.
Rename HW_VAR_DM_FUNC_SET to HW_VAR_DM_FUNC_RESET and drop the unused
else branch.
For HW_VAR_DM_FUNC_CLR, the parameter is always DYNAMIC_FUNC_DISABLE
(0x00). We can set podmpriv->SupportAbility to 0 directly.
Martin Kaiser [Mon, 21 Mar 2022 20:30:30 +0000 (21:30 +0100)]
staging: r8188eu: DYNAMIC_RF_CALIBRATION is not used
Remove the DYNAMIC_RF_CALIBRATION capability. It's cleared in one place
but never checked.
DYNAMIC_RF_CALIBRATION is part of podmpriv->SupportAbility, there are no
users that check SupportAbility as a whole and use DYNAMIC_RF_CALIBRATION
implicitly.
Martin Kaiser [Mon, 21 Mar 2022 20:30:28 +0000 (21:30 +0100)]
staging: r8188eu: DYNAMIC_BB_DYNAMIC_TXPWR is not used
Remove the DYNAMIC_BB_DYNAMIC_TXPWR capability. It is cleared but not used.
DYNAMIC_BB_DYNAMIC_TXPWR defines a bit in podmpriv->SupportAbility that's
set or cleared. There's no code that checks this bit explicitly.
There's also no code that makes a copy of SupportAbility and checks the
DYNAMIC_BB_DYNAMIC_TXPWR in the copy. SupportAbility is copied to
podmpriv->BK_SupportAbility. The only use of BK_SupportAbility is to
restore a previously saved value. The other remaining reader of
SupportAbility is a private debug ioctl.
It's safe to assume that DYNAMIC_BB_DYNAMIC_TXPWR is not used, not even
indirectly.
Martin Kaiser [Sat, 19 Mar 2022 18:03:42 +0000 (19:03 +0100)]
staging: r8188eu: remove local BIT macro
The r8188eu driver defines a local BIT(x) macro. Remove this local macro
and use the one from include/linux/bits.h.
The global BIT macro returns an unsigned long value, the removed local
BIT macro used a signed int.
DYNAMIC_BB_DYNAMIC_TXPWR is defined as BIT(2), ~DYNAMIC_BB_DYNAMIC_TXPWR
is passed to Switch_DM_Func as a u32 parameter. We need a cast in this
case as ~DYNAMIC_BB_DYNAMIC_TXPWR is a 64-bit value on x86_64 systems.
Jakob Koschel [Mon, 21 Mar 2022 12:36:26 +0000 (13:36 +0100)]
staging: greybus: codecs: fix type confusion of list iterator variable
If the list does not exit early then data == NULL and 'module' does not
point to a valid list element.
Using 'module' in such a case is not valid and was therefore removed.
Fixes: 6dd67645f22c ("greybus: audio: Use single codec driver registration") Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Vaibhav Agarwal <vaibhav.sr@gmail.com> Reviewed-by: Mark Greer <mgreer@animalcreek.com> Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com> Link: https://lore.kernel.org/r/20220321123626.3068639-1-jakobkoschel@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sathish Kumar [Wed, 23 Mar 2022 04:55:15 +0000 (10:25 +0530)]
staging: rtl8712: Use completions for signaling
r8712_sitesurvey_cmd() uses a variable to notify r8712_SetFilter() that it
has completed operation. There is no sort of assurance that the variable will
actually change and it could cache the value the first time it is read and
then never update it for the whole loop logic.
Use completion variables because they are better suited for the purpose.
This patch fixes the checkpatch.pl warnings like:
CHECK: Avoid CamelCase: <blnEnableRxFF0Filter>
+ u8 blnEnableRxFF0Filter;
Chris Morgan [Wed, 23 Mar 2022 15:42:37 +0000 (10:42 -0500)]
staging: rtl8723bs: Change rtw_ndev_notifier_call message to dbg
The message received in the kernel log for the state of the notifier
call doesn't seem to be of much help to end users. Changing the message
type from info to dbg to hide the message unless you are debugging
the kernel or the network subsystem.
Rebecca Mckeever [Tue, 29 Mar 2022 07:53:36 +0000 (02:53 -0500)]
staging: r8188eu: fix suspect code indent for conditional statements
Align the if and else if branches of the conditional statement
to improve readability. Prevent bugs that could be introduced
if developers misread the code. Issue found by checkpatch.