-
-
Notifications
You must be signed in to change notification settings - Fork 11.9k
mac80211: initial support for linux 6.18 #21240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Please update the first patch: mac80211_fix_build_failure_on_kernel_6_18.patch |
|
Patch build/400-restore-old-debugfs_fops.patch for kernel 6.18 is probably unnecessary, so it should be modified to work only for kernel 6.12 (add |
|
Do you mind working together with me on this? I am running out of time. If you can fork and send me PR, that would be great. |
|
Fixed, but not tested yet patch: 400-restore-old-debugfs_fops.patch |
|
ok so delete |
|
replace |
|
got a commit message? |
|
No, the original 400-restore-old-debugfs_fops.patch didn't have it either. |
eb432fd to
f37aa2d
Compare
|
I meant for the inclusion of the patch 😄 |
70d84f4 to
2c678a9
Compare
| #ifndef SOCKWQ_ASYNC_NOSPACE | ||
| #define SOCKWQ_ASYNC_NOSPACE SOCK_ASYNC_NOSPACE | ||
| #endif | ||
| #ifndef SOCKWQ_ASYNC_WAITDATA | ||
| #define SOCKWQ_ASYNC_WAITDATA SOCK_ASYNC_WAITDATA | ||
| #endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please just remove these two defines, they are already included in Linux 4.4.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would remove the patch entirely. Correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when you just remove the patch you will probably still run into these problems with kernel 6.18.
Change the patch to remove the definitions from the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please modify the original patch adding this instead:
package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, you want me to replace 552-ath...patch with 548-ath...patch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
He wants the change directly in package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the latest push what you intended?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please modify the original patch:
package/kernel/mac80211/patches/ath11k/932-wifi-ath11k-poll-reo-status-ipq5018.patch
from_timer was renamed, see:
torvalds/linux@41cb085
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please modify the code where it is used with:
#ifdef timer_container_of
timer_container_of(...)
#else
from_timer(...)
#endif
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please modify the original patch.
This was renamed in
torvalds/linux@367ed4e
|
You copied 400-restore-old-debugfs_fops.patch to the wrong folder, it should be in build. |
2c678a9 to
557d92b
Compare
|
206.patch |
557d92b to
8906ff5
Compare
|
Import updated patches from namiltd#107 |
8906ff5 to
eb34862
Compare
| +#if LINUX_VERSION_IS_LESS(6,16,0) | ||
| #ifndef SOCKWQ_ASYNC_NOSPACE | ||
| #define SOCKWQ_ASYNC_NOSPACE SOCK_ASYNC_NOSPACE | ||
| #endif | ||
| #ifndef SOCKWQ_ASYNC_WAITDATA | ||
| #define SOCKWQ_ASYNC_WAITDATA SOCK_ASYNC_WAITDATA | ||
| #endif | ||
| +#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace it with:
-#ifndef SOCKWQ_ASYNC_NOSPACE
-#define SOCKWQ_ASYNC_NOSPACE SOCK_ASYNC_NOSPACE
-#endif
-#ifndef SOCKWQ_ASYNC_WAITDATA
-#define SOCKWQ_ASYNC_WAITDATA SOCK_ASYNC_WAITDATA
-#endif
|
PR #20965 updated. I also added patches for mac80211 to it, allowing to test them on malta. |
eb34862 to
a7d7385
Compare
|
Since 501e54b commits mac80211: ath11k: fix build on 6.18 and mac80211: ath11k: add del_timer_sync() compat shim are unnecessary. |
a7d7385 to
384d9de
Compare
|
When I build |
|
@graysky2 This is a problem with the ath10k-ct (ath10k-ct-regular) package, not mt76, which also needs to be adapted to the 6.18 kernel. |
I know it too does not build, but, in my test .config I am not building it. |
384d9de to
75274e1
Compare
|
Leave patch mac80211: fix Module.symvers.tmp generation on kernel 6.18 separate (like I did) so you only update it when a better workaround is found. |
75274e1 to
f3d1cef
Compare
|
|
||
| - | ||
| +/* Linux ≥ 6.7 removed SOCK_ASYNC_* */ | ||
| +#if defined(SOCK_ASYNC_NOSPACE) && defined(SOCK_ASYNC_WAITDATA) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As pointed out by @hauke (#21240 (comment)) there is no point in leaving this code since we support kernel 6.12 (and in the future 6.18) where it is unnecessary. That's what I did in mac80211: fix build failure on kernel 6.18
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK ... I removed it
0ed45ce to
6c4ffa3
Compare
I see you included this patch in 5a537c7 It removed most of those modpost errors but there are two yet: |
|
Try 999-patch.patch instead of 600-fix_module_symvers_tmp_generation_on_6.18.patch |
|
I replaced |
|
Check if CONFIG_PACKAGE_kmod-mt792x-common is enabled |
Yes: |
|
Maybe we should play around with Module.symvers.tmp a bit more. If it's run too early, it doesn't see all the symbols yet. or or... I'm tired of searching |
|
Thanks for the suggestions. I the first one did not fix (again, replace the 600-.*patch in mac80211, rebuilt mac80211, then build mt76. Result from first patch (mac80211 built fine) Result from 2nd patch was a build failure of mac80211 since no I did find: And made a third patch: But it too failed when building mac80211: |
|
Try this: 600-patch.patch |
|
Seems to be the same after replacing mac80211 builds successfully but mt76 ends in errors: |
|
what is your diffconfig? and do you only have one file: |
|
It's working for me now with no changes. The problem was my fork of mt76 was not pointing to the same branch as openwrt/mt76#1026 but to one with a commit on top of it which removed several of the EXPORT values. Reverting that mistake allowed everything to build properly with What a wild goose chase this turned out to be 😠 |
Reintroduce old-style debugfs file_operations for kernels < 6.14 and switch the drivers to use debugfs_short_fops + debugfs_create_file_aux on >= 6.14. This restores compatibility with older kernels while keeping the new debugfs API working on 6.14+. Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Linux 6.16 changed the return type of gpio_chip.set() from void to int. Add a version check so the driver builds correctly on both older and newer kernels[1]. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.16&id=fb52f3226cab41b94f9e6ac92b1108bce324e700 Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
6c4ffa3 to
4e52a1e
Compare
|
This PR can be closed, the changes it introduces are included in #20965 |
mac80211: backports: fix ath9k/ath11k compatibility with Linux 6.18+
Linux 6.18 introduces several API removals and signature changes that break
builds of ath9k and ath11k in the mac80211 backports tree. This patchset
restores compatibility while preserving support for older kernels used by
OpenWrt and other downstreams.