Commit Graph

238 Commits

Author SHA1 Message Date
Arnd Bergmann 51a2ee0a4e staging: rtl8188eu/rtl8723bs: fix character encoding
drivers/staging/rtl8188eu/include/odm.h uses an incorrect encoding
for the '...' character in two comments, which makes it one of the
few non-UTF-8 source files.

This removes the odd characters and uses the same ASCII representation
that we have in the regular rtlwifi driver. The second instance
of drivers/staging/rtl8723bs/hal/odm.h is garbled in a different way,
so I change it to be the same as well even though it is already
plain ASCII.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-24 13:55:05 +02:00
Greg Kroah-Hartman 956f004a04 Merge 4.18-rc5 into staging-next
We need the staging fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-16 09:06:57 +02:00
Michael Straube 153c6b11eb staging: rtl8723bs: fix comparsions to true
Use if(x) instead of if(x == true).

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-13 11:41:52 +02:00
Michael Straube 6bf4d28ea1 staging: rtl8723bs: change return type to bool
Both rtw_is_cckrates_included() and rtw_is_cckratesonly_included()
return true or false. Change the return type from uint to bool.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-13 11:41:52 +02:00
Michael Straube 4f2a3d835d staging: rtl8723bs: refactor rtw_is_cckratesonly_included
Refactor rtw_is_cckratesonly_included() to improve readability and
slightly reduce object file size.

Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-13 11:41:52 +02:00
Michael Straube c53578cd0b staging: rtl8723bs: refactor rtw_is_cckrates_included()
Refactor rtw_is_cckrates_included() to improve readability and
slightly reduce object file size.

Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-13 11:41:52 +02:00
Michael Straube 5e53b6c871 staging: rtl8723bs: remove unused code
Remove commented rtw_is_cckrates_included() and
rtw_is_cckratesonly_included() from os_dep/ioctl_linux.c.
Both are defined in core/rtw_ieee80211.c.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-13 11:41:52 +02:00
Michael Straube f0de833a60 staging: rtl8723bs: simplify ratetbl_val_2wifirate()
Simplify ratetbl_val_2wifirate() by not using extra variable
for the return value.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-11 14:45:55 +02:00
Michael Straube c9d19e68a7 staging: rtl8723bs: fix comparsions to NULL
Fix comparsions to NULL to follow kernel coding style.
x == NULL -> !x
x != NULL -> x

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-11 14:45:55 +02:00
Michael Straube 525cc4f909 staging: rtl8723bs: remove blank lines
Remove unrequired blank lines as reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-11 14:45:55 +02:00
Michael Straube a35115f3c2 staging: rtl8723bs: fix lines over 80 characters
Fix lines over 80 characters by adding appropriate line breaks.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-11 14:45:55 +02:00
Michael Straube 6efc7e57e3 staging: rtl8723bs: add spaces around '|'
Add spaces around '|' to follow kernel coding style.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-11 14:45:54 +02:00
Michael Straube 1cb5c5596b staging: rtl8723bs: use mac_pton()
Use mac_pton() instead of custom approach.
Remove the now unused hex2num_i() and hwaddr_aton_i().

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-10 12:36:28 +02:00
Michael Straube 86ef7175e3 staging: rtl8723bs: remove braces from single if statement
Remove braces from single if statement to follow kernel coding style.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-08 17:41:15 +02:00
Michael Straube bea378608b staging: rtl8723bs: add missing blank lines
Add missing blank lines after declarations as reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-08 17:41:15 +02:00
Michael Straube 5d109ed610 staging: rtl8723bs: remove blank lines
Remove unrequired blank lines as reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-08 17:41:15 +02:00
Michael Straube 3ba4612868 staging: rtl8723bs: fix indentation
Remove unrequired extra indentations.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-08 17:41:15 +02:00
Michael Straube c9ed0be8ca staging: rtl8723bs: replace tab with space
Replace tabs with spaces in some function definitions.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-08 17:41:15 +02:00
Michael Straube 058f285ed4 staging: rtl8723bs: replace while with shorter for loop
Simplify rtw_get_rateset_len() by replacing the while loop
with a shorter for loop.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-08 17:41:15 +02:00
Michael Straube 50730e79a2 staging: rtl8723bs: remove rtw_beamforming.h
The header rtw_beamforming.h is not used anywhere.
'git grep rtw_beamforming.h' returns nothing, remove the file.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-07 16:48:24 +02:00
Michael Straube 7898a516c3 staging: rtl8723bs: remove rtw_br_ext.h
The header rtw_br_ext.h is not used anywhere.
'git grep rtw_br_ext.h' returns nothing, remove the file.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-07 16:48:24 +02:00
Michael Straube de63831a21 staging: rtl8723bs: remove rtl8192c_rf.h
All functions declared in rtl8192c_rf.h have no definition/are not used
in any other file/anywhere. Checked with 'git grep <function_name>'.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-06 17:37:35 +02:00
Murray McAllister 920c924488 staging: rtl8723bs: Prevent an underflow in rtw_check_beacon_data().
Dan Carpenter reported an integer underflow issue in the rtl8188eu driver.
This is also needed for the length (signed integer) in rtl8723bs, as it is
later converted to an unsigned integer and used in a memcpy operation.

Original issue is at https://patchwork.kernel.org/patch/9796371/

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Murray McAllister <murray.mcallister@insomniasec.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 10:45:39 +02:00
Michael Straube 9d4bedcbf2 staging: rtl8723bs: simplify if else statement
Simplify if else statement to a single function call
by passing the variable.

Suggested-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 10:43:10 +02:00
Michael Straube d2ab9916f0 staging: rtl8723bs: fix comparsion to true/false and brace issues
Use if(x) and if(!x) instead of comparsion to true/false.
Reported by checkpatch.

Remove unrequired braces from single if else statement.
Add missing space after else: else{ -> else {

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 10:43:10 +02:00
Michael Straube 0a561b0f91 staging: rtl8723bs: remove pointless if else in rtw_sdio_resume()
Whether any of the conditions is true or not, the return variable
is always set to rtw_resume_process(padapter). Replace the if else
construct with a single call to rtw_resume_process(). Also remove
the now unused local variable pwrpriv.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 10:39:07 +02:00
Michael Straube 24e66e9868 staging: rtl8723bs: fix line over 80 characters
Fix line over 80 characters by replacing tab with space.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 10:39:06 +02:00
Michael Straube a50d971c08 staging: rtl8723bs: use mac_pton() in rtw_macaddr_cfg()
Use the mac_pton() helper to convert the mac address string.

The functions key_char2num() and key_2char2num() are not used
anywhere else and can be removed.

This also has the benefit of validating the input since mac_pton()
returns false if the string is not valid.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:46:01 +09:00
Michael Straube 9579ba6e5d staging: rtl8723bs: use ether_addr_copy() in rtw_macaddr_cfg()
Use ether_addr_copy() instead of memcpy() to copy the mac address.

Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:46:01 +09:00
Michael Straube 375a2bd275 staging: rtl8723bs: refactor rtw_macaddr_cfg()
Using is_broadcast_ether_addr() and is_zero_ether_addr() instead of
testing each byte of the mac[] array for 0xff and 0x00 shortens the
code and improves readability.

If np == NULL, of_get_property() returns NULL, hence the "np" check
is not needed.

Instead of a fixed default mac address use a random one to reduce the
likelihood of mac address collision.

Thanks to Joe Perches and Dan Carpenter.

Suggested-by: Joe Perches <joe@perches.com>
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:46:01 +09:00
Michael Straube 05ccc7061a staging: rtl8723bs: fix comparsion to NULL - coding style
Fix comparsion to NULL issues found by checkpatch.
Use !x instead of x == NULL.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:46:01 +09:00
Omer Efrat 5c6a5eb3aa staging: use BIT_ULL for NL80211_STA_INFO_* attribute types
The BIT macro uses unsigned long which some architectures handle as 32 bit
and therefore might cause macro's shift to overflow when used on a value
equals or larger than 32 (NL80211_STA_INFO_RX_DURATION and afterwards).

Since 'filled' member in station_info changed to u64, BIT_ULL macro
should be used with all NL80211_STA_INFO_* attribute types instead of BIT
to prevent future possible bugs when one will use BIT macro for higher
attributes by mistake.

This commit cleans up all usages of BIT macro with the above field
in cfg80211 by changing it to BIT_ULL instead.

Signed-off-by: Omer Efrat <omer.efrat@tandemg.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:08:56 +09:00
Michael Straube 7c5746c448 staging: rtl8723bs: remove rtw_set_tx_chksum_offload()
The function rtw_set_tx_chksum_offload() has empty definition.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:06:11 +09:00
Henriette Hofmeier e8466ea7bc staging: rtl8723bs: Fix comment on variable init
Change comment from 'local variable' to 'global variables'
and change style to comply with coding-style.

Signed-off-by: Henriette Hofmeier <passt@h-hofmeier.de>
Signed-off-by: Florian Harbecke <florian.harbecke@fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:05:05 +09:00
Henriette Hofmeier cbb2cb50c0 staging: rtl8723bs: Remove unnecessary initializations
Remove initializations of global variables with 0.
Criticized by checkpatch.

Signed-off-by: Henriette Hofmeier <passt@h-hofmeier.de>
Signed-off-by: Florian Harbecke <florian.harbecke@fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:05:05 +09:00
Henriette Hofmeier 3520c7a47b staging: rtl8723bs: Move definition open brace
Move open braces of definitions to the next line
to comply with codestyle.
Criticized by checkpatch.

Signed-off-by: Henriette Hofmeier <passt@h-hofmeier.de>
Signed-off-by: Florian Harbecke <florian.harbecke@fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:05:05 +09:00
Jia-Ju Bai 05e540b277 staging: rtl8723bs: Fix two possible sleep-in-atomic-context bugs in translate_scan()
The driver may sleep with holding a spinlock.
The function call paths (from bottom to top) in Linux-4.16.7 are:

[FUNC] kzalloc(GFP_KERNEL)
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c, 323:
		kzalloc in translate_scan
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c, 1554:
		translate_scan in rtw_wx_get_scan
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c, 1533:
		spin_lock_bh in rtw_wx_get_scan

[FUNC] kzalloc(GFP_KERNEL)
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c, 455:
		kzalloc in translate_scan
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c, 1554:
		translate_scan in rtw_wx_get_scan
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c, 1533:
		spin_lock_bh in rtw_wx_get_scan

To fix these bugs, GFP_KERNEL is replaced with GFP_ATOMIC.

These bugs are found by my static analysis tool (DSAC-2) and checked by
my code review.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:05:05 +09:00
Arnd Bergmann 8498887660 staging: rtl8723bs: remove get_monotonic_boottime()
get_monotonic_boottime() is deprecated because it uses the
old 'timespec' structure. This replaces one of the last callers
with a call to ktime_get_boottime, which also simplifies it
a bit by avoiding a double conversion.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:05:04 +09:00
Quytelda Kahja 8cc46a2cc2 staging: rtl8723bs: Add missing curly braces on else statement.
Fix 'braces {} should be used on all arms of this statement' coding
style problem in 'phy_get_tx_pwr_lmt()'.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja 904604397d staging: rtl8723bs: Merge workaround conditionals into single else-if.
The if conditionals used to work around wrong TX power limit indices
can be condensed into a single if/else-if statement for more concise
expression.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja f574684821 staging: rtl8723bs: Merge conditionals with similar bodies.
Two conditionals that set 'channel' based on 'band_type' in
'phy_get_tx_pwr_lmt()' can be simplified into one single-line conditional.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja 871081d4e9 staging: rtl8723bs: Fix spelling mistake in comment.
Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja 81dff62b3d staging: rtl8723bs: Move bandwidth index lookup to new function.
Factoring out the conditional lookup of bandwidth index into the power
limit table into it's own function simplifies the logic of
'phy_get_tx_pwr_lmt()'.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja 9ca65c3041 staging: rtl8723bs: Move rate section index lookup to new function.
The rate section lookup is a large switch statement in the middle of
'phy_get_tx_pwr_lmt()'; refactor this statement into it's own function
for increased readability.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja ac41f631d4 staging: rtl8723bs: Remove empty else-if conditional.
This else-if conditional block does nothing; remove it.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja fdf620d697 staging: rtl8723bs: Combine if statements with equivalent body.
Two if statements that carry out the same operation can be combined with
a logical OR.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja 717209ec61 staging: rtl8723bs: Fix camel-case names in phy_get_tx_pwr_lmt().
Change camel-case names to snake-case names; to avoid variable name
conflicts, rename table index variables to idx_*.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja cc2231a3bb staging: rtl8723bs: Rename PHY_GetTxPowerLimit().
Rename camel-case 'PHY_GetTxPowerLimit()' to 'phy_get_tx_pwr_lmt()'.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:16 +09:00
Quytelda Kahja 26472590a6 staging: rtl8723bs: Clean up whitespace in 'PHY_GetTxPowerLimit()'.
Wrap lines longer than 80 characters where possible, delete double
newlines, and fix alignment per the kernel coding style guidelines.

Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-28 22:03:15 +09:00
Julia Lawall 5df204016c staging: rtl8723bs: drop test
The test selects between two identical values, so it doesn't look useful.
It turns out that the tested expression can only be true anyway, so drop
the test, the corresponding parameter, and the corresponding argument at
the only call site.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,e1;
@@

* e ? e1 : e1
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-17 09:05:14 +02:00