Per-kernel driver fixes round 1: scarthgap green, walnascar do_patch QA satisfied#48
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.