Skip to content

Per-kernel driver fixes round 1: scarthgap green, walnascar do_patch QA satisfied#48

Merged
EmbeddedAndroid merged 4 commits into
masterfrom
fix-compile-scarthgap
May 14, 2026
Merged

Per-kernel driver fixes round 1: scarthgap green, walnascar do_patch QA satisfied#48
EmbeddedAndroid merged 4 commits into
masterfrom
fix-compile-scarthgap

Conversation

@EmbeddedAndroid
Copy link
Copy Markdown
Owner

First pass of per-kernel-version maintenance work. Goal of this PR is narrow: get every driver compiling on the scarthgap LTS kernel (6.6) and stop walnascar's do_patch from blowing up on missing Upstream-Status tags. Kernel 6.12+ regressions (rtl8192eu, rtl8723du, rtl8723bu, rtl8812au, rtl8814au, rtl8821cu against newer kernels) are tracked separately and will come in follow-up PRs once each fork has a maintained branch.

rtl8821au: bumped SRCREV from a133274b (2022) to 250cdad4 (Sep 2025). The old revision failed on kernel 6.6 (REGULATORY_IGNORE_STALE_KICKOFF removed, tdls_mgmt gained an arg, an enum-conversion warning is now -Werror). 250cdad4 is the last known-good commit before upstream PR #198 (Apr 2026) introduced an undefined _FW_UNDER_SURVEY reference. Includes upstream's own kernel 6.14 support.

rtl8723du: switched from lwfinger/rtl8723du (marked obsolete upstream — README points users at rtw88) to a new EmbeddedAndroid/rtl8723du fork on an 'embeddedandroid' branch. Starts from lwfinger HEAD (which already has the cfg80211_ch_switch_notify 4-arg call wired up via LINUX_VERSION_CODE conditionals) and adds a modules_install Makefile target so the local recipe no longer needs the modules_install patch. SRC_URI and SRCREV in the recipe point at the fork.

recipes-bsp: re-added Upstream-Status: headers to the three local patches (rtl88x2bu, rtl8723bu, rtl8814au modules_install / IPS-disable). Walnascar's do_patch QA promoted the missing-Upstream-Status warning to a fatal error, so without these tags users on walnascar see do_patch fail before any compile happens. Tagged as Pending where the change could land upstream, Inappropriate for the rtl8723bu IPS-disable behavioural tweak.

ci: dropped the yocto-check-layer scarthgap job. With the patch tags now in place, scarthgap's checklayer flips test_patches_upstream_status from expected-failure to unexpected-success — unittest counts that as a failure and the job goes red regardless. The @unittest.expectedFailure decorator is removed upstream in whinlatter, so once we have a CI path against oe-core whinlatter (poky no longer ships a combined repo for that release) we can re-add a yocto-check-layer job pointed at that. The parse + fetch matrix and walnascar's do_patch QA still cover the same surface in the meantime.

Verified on a 40-core scarthgap bitbake run: all 8 driver recipes (rtl8192eu, rtl8723bu, rtl8723du, rtl8812au, rtl8814au, rtl8821au, rtl8821cu, rtl88x2bu) build, package and pass do_package_qa against linux-yocto 6.6.127.

Old SRCREV (2022) failed to build on kernel 6.6:
- REGULATORY_IGNORE_STALE_KICKOFF was removed
- tdls_mgmt callback gained a new argument
- enum _LED_STATE -> _LED_CTL_MODE conversion is now -Werror

Bump to 250cdad4 (Sep 2025), the last known-good commit before
upstream PR #198 introduced an undefined _FW_UNDER_SURVEY
reference. Includes upstream's own kernel 6.14 support patch.
Refresh LIC_FILES_CHKSUM to match the LICENSE file at this rev.
Upstream lwfinger/rtl8723du is marked obsolete (README points
users at rtw88) but the recipe is the only path for users still
running pre-6.2 kernels or wanting parity with the rest of this
layer. Track an EmbeddedAndroid fork instead so this layer can
maintain per-kernel-version compile fixes.

The 'embeddedandroid' branch starts from upstream HEAD
(includes the cfg80211_ch_switch_notify 4-arg call for kernel
>= 6.3) and adds a Makefile modules_install target so the local
patch is no longer needed.
Walnascar's do_patch QA makes "Missing Upstream-Status in patch"
a fatal error (not just a warning), so users building the layer on
walnascar or later see do_patch fail for rtl88x2bu, rtl8723bu and
rtl8814au. Tag the two modules_install patches as Pending (they
could plausibly land upstream) and the rtl8723bu IPS-disable patch
as Inappropriate (downstream behavioural tweak that won't go
upstream).
Now that local patches carry Upstream-Status tags (required by
walnascar do_patch QA), scarthgap's yocto-check-layer flips
test_patches_upstream_status from "expected failure" to
"unexpected success" — unittest counts that as a failure and the
job goes red.

The @unittest.expectedFailure decorator on that test is removed
upstream in whinlatter, so the right fix is to run
yocto-check-layer against oe-core whinlatter (no poky combo
exists for that release). Leaving the job off until that CI path
is in place; the parse + fetch matrix and the walnascar do_patch
QA give us coverage of the same surface in the meantime.
@EmbeddedAndroid EmbeddedAndroid merged commit e44f2aa into master May 14, 2026
4 checks passed
@EmbeddedAndroid EmbeddedAndroid deleted the fix-compile-scarthgap branch May 14, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant