66 Commits

Author SHA1 Message Date
lwfinger
a638cc8639
Merge pull request #32 from giuliobenetti/fix/powerpc
rtl8723ds: get_ra() exists only on PowerPC
2022-12-01 12:27:01 -06:00
Giulio Benetti
aaf31f36eb rtl8723ds: get_ra() exists only on PowerPC
In PowerPc Linux only get_ra() exists[0] and conflicts with local get_ra()
that has a completely different purpose. So let's rename local get_ra()
to wifi_get_ra() to make it different from Linux's get_ra().

[0]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/asm/disassemble.h?h=v6.1-rc7#n49

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
2022-12-01 15:24:08 +01:00
lwfinger
3f1d7b6dc7
Merge pull request #31 from johnkeeping/rtnl-locking
rtl8723ds: fix rtnl_lock handling
2022-11-30 09:26:02 -06:00
lwfinger
38231d5832
Merge pull request #30 from johnkeeping/sta-info-alignment
rtl8723ds: fix sta_info alignment
2022-11-29 19:35:49 -06:00
John Keeping
dac75d70bc rtl8723ds: simplify locking in rtw_change_ifname()
As the comment says, rtnl_lock is acquired by the caller of this
function.  In fact this is not specific to 2.6.26 and later but has
always been the case, so checking lock state is unnecessary and we can
just call (un)register_netdevice() knowing that rtnl_lock is held.
2022-11-29 18:41:01 +00:00
John Keeping
1eca486544 rtl8723ds: fix locking for (un)register
rtnl_is_locked() checks whether the lock is currently held by any task,
not specifically by _this_ task so it is wrong to use it in the
(un)register path.

In both of these cases, examining the call stack shows that there is no
way for rtnl_lock to be taken by the task running these functions, so
remove the checks.

Further, (un)register_netdev() have existed since the beginning of Git
history so there's no reason for a version check here and we can always
call the function that takes the lock itself and should never call the
version which expects rtnl_lock to be held.
2022-11-29 18:41:01 +00:00
John Keeping
255c827ec1 rtl8723ds: fix sta_info alignment
Allocation function return memory that is properly aligned for most data
types, there is no need to manually align the buffer later.

On 64-bit systems this is particularly wrong as struct sta_info should
be 8-byte aligned so this calculation is guaranteed to misalign the
structure.  If the architecture requires aligned access, this leads to
an alignment fault and panic.

Signed-off-by: John Keeping <john@metanate.com>
2022-11-29 18:39:10 +00:00
lwfinger
fa06cb893c
Merge pull request #29 from giuliobenetti/fix/user-extra-flags-override
Makefile: move 'EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)' at the end of E…
2022-11-16 09:49:28 -06:00
Giulio Benetti
769a1943cb Makefile: move 'EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)' at the end of EXTRA_FLAGS assignment
At the moment USER_EXTRA_CFLAGS can't override local Makfile EXTRA_CFLAGS
since it's assigned at the beginning of the Makefile. For example it's not
possible to undefine the hardcoded CONFIG_LITTLE_ENDIAN and this doesn't
allow to build these modules for big endian architectures. So let's move
the assignment of USER_EXTRA_CFLAGS to EXTRA_CFLAGS after the last
EXTRA_CFLAGS assignment.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
2022-11-16 16:08:21 +01:00
Larry Finger
5ab2d3f385 rtl8723ds: Fix builds for kernels through 6.1
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2022-11-04 10:41:53 -05:00
lwfinger
912fdb3053
Merge pull request #27 from xypron/rtw_mfree_stainfo
rtl8723ds: fix rtw_mfree_stainfo()
2022-10-20 10:01:13 -05:00
Heinrich Schuchardt
5ce43b6183 rtl8723ds: fix rtw_mfree_stainfo()
Building with GCC 12.2 results in:

/var/lib/dkms/licheerv-rtl8723ds/1.0/build/core/rtw_sta_mgt.c:
In function ‘rtw_mfree_stainfo’:
/var/lib/dkms/licheerv-rtl8723ds/1.0/build/core/rtw_sta_mgt.c:338:25:
warning: the comparison will always evaluate as ‘true’ for
the address of ‘lock’ will never be NULL [-Waddress]
  338 |         if (&psta->lock != NULL)
      |

Remove the superfluous check.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-10-20 14:28:31 +02:00
lwfinger
3febf28dc7
Merge pull request #26 from AlexGhiti/int/alex/fix_5.19
rtl8723ds: Fix compilation errors on a 5.19 kernel
2022-10-18 09:37:28 -05:00
Alexandre Ghiti
ce40065dc4 rtl8723ds: Fix compilation errors on a 5.19 kernel
Fix the following errors that happen on a 5.19 kernel:

error: initialization of ‘int (*)(struct wiphy *, struct net_device *, unsigned int)’
       from incompatible pointer type ‘int (*)(struct wiphy *, struct net_device *)’
       [-Werror=incompatible-pointer-types]
 6821 | .stop_ap = cfg80211_rtw_stop_ap,

error: ‘struct wireless_dev’ has no member named ‘current_bss’
 7052 | if (wdev->current_bss) {

Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
2022-10-18 15:26:13 +02:00
lwfinger
83032266f6
Merge pull request #22 from johnkeeping/preempt-rt
rtl8723ds: remove raw_spinlock on RT
2022-07-26 16:36:43 -05:00
John Keeping
161bb7bab4 rtl8723ds: remove raw_spinlock on RT
There's no need for a raw spinlock in this driver as it doesn't do
anything in hardirq context on -rt.  Some of the critical sections
guarded by these locks are long and contain unbounded loops so there is
a risk of raw spinlocks causing latency spikes on -rt.

The existing code is broken with CONFIG_PREEMPT_RT anyway as only a
subset of the functions that depend on lock type are covered by the
preprocessor #if/#else blocks.

Remove the special-case for CONFIG_PREEMPT_RT.

Signed-off-by: John Keeping <john@metanate.com>
2022-07-26 15:06:25 +01:00
Larry Finger
6f3869f15a rtl8723ds: Change Makefile to handle riscv32 and riscv64
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2022-06-01 10:15:24 -05:00
Larry Finger
76146e8584 rtl8723ds: Fix build errors with kernel 5.18
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2022-04-07 10:53:17 -05:00
Larry Finger
76fb80685b rtl8723ds: Fix build on kernel 5.17
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2022-02-05 11:47:13 -06:00
lwfinger
2c218a36ed
Merge pull request #14 from jekamps/kernel_5.15-fix
rtl8723ds: Fix build with kernel 5.15
2022-01-18 10:13:30 -06:00
John-Eric Kamps
b80b52a36e rtl8723ds: Fix build with kernel 5.15
Signed-off-by: John-Eric Kamps <johnny86@gmx.de>
2022-01-17 23:28:21 +01:00
lwfinger
1b6ddd544b
Merge pull request #11 from Icenowy/newest-kernel
Adapt for newest kernel (5.14)
2021-07-24 12:40:07 -05:00
Icenowy Zheng
9afd800400 fix hang on 5.14
Signed-off-by: Icenowy Zheng <icenowy@sipeed.com>
2021-07-24 18:40:13 +08:00
Icenowy Zheng
4bc94be2c6 fix build for 5.12
Signed-off-by: Icenowy Zheng <icenowy@sipeed.com>
2021-07-24 18:40:05 +08:00
Icenowy Zheng
6fde63d7c1 fix build for removed get_fs/set_fs (5.10)
Signed-off-by: Icenowy Zheng <icenowy@sipeed.com>
2021-07-24 18:38:55 +08:00
Larry Finger
f3167881f4 rtl8723ds: Use CONFIG_PREEMPT_RT to select raw spin lock form for real-time kernels
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2021-03-24 21:00:11 -05:00
Larry Finger
9837ccab16 rtl8723ds: Fix some smatch warnings
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2021-03-18 16:42:51 -05:00
Larry Finger
80af87ac76 rtl8723ds: Update cfg80211_rtw_mgmt_frame_register for kernel 5.8
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2020-09-18 18:49:41 -05:00
Larry Finger
c54996f3a7 rtl8723ds: Fix builds for kernel 5.8+
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2020-09-17 11:19:09 -05:00
Larry Finger
149dcf1140 rtl8723ds: Add *.d to .gitignore
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2020-04-11 11:37:54 -05:00
Larry Finger
4ae3c679a9 rtl8723ds: Fix "ielen" not initialized
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2020-04-11 11:35:18 -05:00
Larry Finger
798d7c0de7 Merge branch 'master' of http://github.com/lwfinger/rtl8723ds 2020-04-11 11:33:40 -05:00
Larry Finger
e8dba16f88 rtl8723ds:" Fix build on kernel 5.3 and newer
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2020-04-11 11:29:25 -05:00
lwfinger
3f74a755b2
Merge pull request #6 from HonJEK/linux_5.6_fix
Linux 5.6 fix
2020-04-11 11:20:55 -05:00
John-Eric Kamps
17db5978f6 rtl8723ds: Fix fallthrough annotation
Signed-off-by: John-Eric Kamps <john-eric.kamps@honeywell.com>
2020-04-11 08:51:45 +02:00
John-Eric Kamps
2ca33c2b77 add proc_ops for kernel 5.6
Signed-off-by: John-Eric Kamps <john-eric.kamps@honeywell.com>
2020-04-11 08:49:48 +02:00
lwfinger
2c4a1a09c1
Merge pull request #5 from igorpecovnik/master
Typo
2020-03-04 12:17:56 -06:00
Igor Pečovnik
6a2e44322d
Typo
This fixes compilation on LK < 4.15
2020-03-03 18:59:11 +01:00
lwfinger
0962017310
Merge pull request #4 from HonJEK/linux_5.3_fix
Fix operations with kernel 5.3
2019-11-04 11:00:53 -06:00
John-Eric Kamps
0addd37c8d Merge branch 'linux_5.2_fix' into linux_5.3_fix 2019-11-04 11:12:18 +01:00
John-Eric Kamps
3e9b49353f Fix operations with kernel 5.2
See this commit: a350eccee5

Signed-off-by: John-Eric Kamps <john-eric.kamps@honeywell.com>
2019-11-04 11:07:53 +01:00
John-Eric Kamps
f418909778 Fix operations with kernel 5.3
Based on lwfinger/rtlwifi_new/commit/2b3cb6be0aed5cbcd4318a7e63d39e499b5094c0#diff-839e3ea33b3a136b794f7a0281eead7c

Signed-off-by: John-Eric Kamps <john-eric.kamps@honeywell.com>
2019-11-04 10:56:09 +01:00
lwfinger
fd4403497d
Merge pull request #1 from HonJEK/master
Fix for linux >=5.1 "get_ds" removed

Thanks.
2019-07-15 11:51:32 -05:00
John-Eric Kamps
3f32082ee3 Fix for linux >=5.1 "get_ds" removed
Since commit 736706bee3298208343a76096370e4f6a5c55915 get_ds was removed which is internally mapped to KERNEL_DS.

Signed-off-by: John-Eric Kamps <john-eric.kamps@honeywell.com>
2019-07-15 15:27:18 +02:00
Larry Finger
5b15b740ca rtl8723ds: Fix build for kernel 5.0 API changes
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2019-01-08 10:22:40 -06:00
Larry Finger
3030a734d7 rtl8723ds: Update source for recent API changes
The source will now compile on kernels up to 4.20.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2018-11-29 11:43:26 -06:00
Larry Finger
5949fdf1cc rtl8723ds: Fix more Sparse errors
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2017-10-27 15:25:56 -05:00
Larry Finger
ef471acce1 rtl8723ds: Fix Sparse errors/warnings in core/rtw_security.c
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2017-10-27 14:53:08 -05:00
Larry Finger
426d23f60f rtl8723ds: Fix more Sparse errors
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2017-10-25 15:25:54 -05:00
Larry Finger
3250ef8601 rtl8723ds: Fix all instances of using scaler instead of NULL
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2017-10-25 15:06:06 -05:00