fleet/ohm: switch bes2600 to cumulative-c5x interim + close besser#1 + GCC 15 SCS fix (closes #5 partial) #28
+30
-48
@@ -25,63 +25,43 @@ baseline:
|
|||||||
|
|
||||||
# Scope-tagged patch includes. Resolves to patches/<scope>/<file>.patch.
|
# Scope-tagged patch includes. Resolves to patches/<scope>/<file>.patch.
|
||||||
#
|
#
|
||||||
# Series-ordering note: the current cumulative-patch generation order on
|
# 2026-05-18 audit: the per-series -danctnix mirrors in
|
||||||
# boltzmann is A, B, C v3, F, G, D, E, C2, c5.x, c6.x, c7, H — explicitly
|
# patches/driver/bes2600/*-danctnix/ created by kernel-agent#17 use
|
||||||
# NOT alphabetical. ka-promote MUST honor an apply_order field when
|
# DKMS-style root paths (bes2600/foo.c) rather than in-tree staging
|
||||||
# concatenating series into the build's per-job cumulative patch. The
|
# paths (drivers/staging/bes2600/foo.c), and at least one has corrupted
|
||||||
# legend mapping series-letter → series-name lives in the current
|
# mixed-prefix headers (a/drivers/staging/bes2600/... b/bes2600/...).
|
||||||
# danctnix-besser-pkgbuild changelog on boltzmann; promote to this
|
# They do NOT apply cleanly against the linux-pinetab2 baseline.
|
||||||
# manifest once auto-generation is wired.
|
|
||||||
#
|
#
|
||||||
# DanctNIX siblings (-danctnix suffix) are selected here because ohm
|
# Until the per-series mirrors are reconstructed (kernel-agent followup
|
||||||
# runs on the DanctNIX kernel base; the non-suffixed variants exist for
|
# issue), the bes2600 driver scope is satisfied by a single-file
|
||||||
# vanilla mainline consumers that ohm doesn't currently have.
|
# cumulative captured from the working hand-managed
|
||||||
|
# danctnix-besser-pkgbuild flow on boltzmann (see
|
||||||
|
# patches/driver/bes2600/cumulative-c5x-danctnix/README.md). This is
|
||||||
|
# the c5x stack as it shipped in pkgrel=3 on 2026-05-18.
|
||||||
includes:
|
includes:
|
||||||
# Default-on series (uncontroversial fixes that ohm already runs):
|
# bes2600 driver (c5x stack as shipped in pkgrel=3) — single-file
|
||||||
- driver/bes2600/staging-prep-series-danctnix/
|
# interim cumulative; per-series reconstruction tracked separately.
|
||||||
- driver/bes2600/pm-state-resync-danctnix/
|
- driver/bes2600/cumulative-c5x-danctnix/
|
||||||
- driver/bes2600/pm-timeout-silence-danctnix/
|
# close besser#1 — refuse multi-channel 5 GHz scans at driver boundary.
|
||||||
- driver/bes2600/pm-wake-consume-state-danctnix/
|
|
||||||
- driver/bes2600/pm-gate-on-handshake/
|
|
||||||
- driver/bes2600/pm-detect-firmware-unsupported-danctnix/
|
|
||||||
- driver/bes2600/scan-defer-backoff-tune-danctnix/
|
|
||||||
- driver/bes2600/scan-defer-on-reject-danctnix/
|
|
||||||
- driver/bes2600/lmac-recover-via-mmc-hw-reset-danctnix/
|
|
||||||
- driver/bes2600/tx-sdio-dma-oob-danctnix/
|
|
||||||
- driver/bes2600/factory-series/
|
|
||||||
- driver/bes2600/factory-thread-dev/
|
|
||||||
- driver/bes2600/factory-drop-kernel-write-danctnix/
|
|
||||||
- driver/bes2600/drop-dpd-file-paths-danctnix/
|
|
||||||
- driver/bes2600/drop-orphan-file-io-danctnix/
|
|
||||||
- driver/bes2600/remove-chardev-user-interface/
|
|
||||||
- driver/bes2600/enable-testmode/
|
|
||||||
# Patch I — besser#1 closure. Filter 5 GHz scan iteration at the
|
|
||||||
# driver boundary (refuses 5 GHz drv_hw_scan with -EOPNOTSUPP).
|
|
||||||
# Eliminates the wsm_generic_confirm 0x0007 dmesg storm.
|
|
||||||
# Phase 7 verified 2026-05-18: Pattern A 14.3/h → 0/h.
|
|
||||||
- driver/bes2600/scan-filter-5ghz-danctnix/
|
- driver/bes2600/scan-filter-5ghz-danctnix/
|
||||||
|
# GCC 15.2.1 build-fix for arm_neon.h + SHADOW_CALL_STACK interaction.
|
||||||
# Build-environment workaround for GCC 15.2.1 + CONFIG_SHADOW_CALL_STACK=y
|
# Runtime no-op as long as the config has CONFIG_SHADOW_CALL_STACK=n
|
||||||
# + arm_neon.h #pragma pop_options interaction. See besser#20 for the
|
# (current ohm setting). Kept in the manifest for the day SCS gets
|
||||||
# re-enable-once-GCC-fixed tracking; for now we ship with SCS=n in the
|
# re-enabled. See reference_arm64_scs_arm_neon_gcc15 memory.
|
||||||
# config and this Makefile tweak as belt-and-suspenders (no-op if SCS
|
|
||||||
# is off; allows SCS=on once GCC permits). Cross-arch fix, not bes2600.
|
|
||||||
- arch/arm64/scs-arm-neon-build-fix/
|
- arch/arm64/scs-arm-neon-build-fix/
|
||||||
|
# close besser#18 — pending_record_lock SOFTIRQ-safe -> -unsafe inversion.
|
||||||
|
# Mirror of marfrit/bes2600-dkms#11 (d95453c). 5-site spin_lock -> _bh.
|
||||||
|
- driver/bes2600/queue-pending-record-lock-bh-danctnix/
|
||||||
|
|
||||||
# Explicitly NOT included (decision logged):
|
# Explicitly NOT included (decision logged):
|
||||||
# - debian-copyright-fsf-address: Debian packaging metadata, not kernel
|
# - debian-copyright-fsf-address: Debian packaging metadata, not kernel
|
||||||
# - bare (non-danctnix) variants of the above: ohm runs DanctNIX base
|
# - bare (non-danctnix) variants of the per-series mirrors: same
|
||||||
|
# root-path bug as the -danctnix variants per the 2026-05-18 audit
|
||||||
|
|
||||||
config:
|
config:
|
||||||
source: hand-managed config file in boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/config
|
source: hand-managed config file in boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/config
|
||||||
strategy: snapshot, fold to baseline, accept-new with rationale on diff
|
strategy: snapshot, fold to baseline, accept-new with rationale on diff
|
||||||
TODO: migrate config into kernel-agent flow once kconfig-by-manifest lands
|
TODO: migrate config into kernel-agent flow once kconfig-by-manifest lands
|
||||||
# Override applied for pkgrel=2 (2026-05-18): CONFIG_SHADOW_CALL_STACK=n
|
|
||||||
# to work around GCC 15.2.1 arm_neon.h pragma issue. Track besser#20
|
|
||||||
# for re-enable plan. Flip back to =y in the manifest once verified
|
|
||||||
# to build clean on current Arch ARM GCC.
|
|
||||||
overrides:
|
|
||||||
CONFIG_SHADOW_CALL_STACK: n # WORKAROUND besser#20 — restore to y when GCC is fixed
|
|
||||||
|
|
||||||
package:
|
package:
|
||||||
name: linux-pinetab2-danctnix-besser
|
name: linux-pinetab2-danctnix-besser
|
||||||
@@ -109,9 +89,11 @@ verify:
|
|||||||
- wlan0 + bt0 (BT/UART) present after boot
|
- wlan0 + bt0 (BT/UART) present after boot
|
||||||
- sdio_force_uhs=0 not needed (DMA-OOB-read fix in tx-sdio-dma-oob series)
|
- sdio_force_uhs=0 not needed (DMA-OOB-read fix in tx-sdio-dma-oob series)
|
||||||
bar4_per_patch_probe: opt-in
|
bar4_per_patch_probe: opt-in
|
||||||
bar5_burn_in: opt-in
|
bar5_burn_in:
|
||||||
- WiFi: 24h iperf3 to LAN host without rxhang
|
mode: opt-in
|
||||||
- PM: lid-close → wake cycles × 100 without bes2600 confirm-loss
|
tests:
|
||||||
|
- "WiFi: 24h iperf3 to LAN host without rxhang"
|
||||||
|
- "PM: lid-close → wake cycles × 100 without bes2600 confirm-loss"
|
||||||
|
|
||||||
build_host:
|
build_host:
|
||||||
primary: boltzmann # native aarch64 with ohm's identical .config
|
primary: boltzmann # native aarch64 with ohm's identical .config
|
||||||
|
|||||||
+4322
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,35 @@
|
|||||||
|
# cumulative-c5x-danctnix — interim single-file cumulative
|
||||||
|
|
||||||
|
**Series role**: ohm manifest's bes2600 driver patchset, c5x stack as
|
||||||
|
shipped in `linux-pinetab2-danctnix-besser` pkgrel=3 on 2026-05-18.
|
||||||
|
|
||||||
|
## Why this is a single .patch and not split per-fix
|
||||||
|
|
||||||
|
The 12-ish per-series mirror PR (kernel-agent#17) of the boltzmann-side
|
||||||
|
`marfrit/besser` series produced patches with DKMS-style paths
|
||||||
|
(`bes2600/*` at root) rather than in-tree staging paths
|
||||||
|
(`drivers/staging/bes2600/*`), and at least one entry has corrupted
|
||||||
|
mixed-prefix headers (`a/drivers/staging/bes2600/foo.c b/bes2600/foo.c`).
|
||||||
|
Those series do NOT apply cleanly to the linux-pinetab2 baseline.
|
||||||
|
|
||||||
|
Audit performed 2026-05-18 during ohm migration:
|
||||||
|
- ka-promote ohm (using the per-series includes) produces a
|
||||||
|
172 644-byte cumulative touching 27 file paths, of which 11 are
|
||||||
|
bogus DKMS-style or mixed-prefix.
|
||||||
|
- The hand-curated `0001-bes2600-besser-cumulative-series.patch` from
|
||||||
|
the working `danctnix-besser-pkgbuild` (boltzmann) is 148 149 bytes
|
||||||
|
touching 48 distinct in-tree staging files — and is what pkgrel=3
|
||||||
|
actually builds with.
|
||||||
|
|
||||||
|
This single-file cumulative is staged here so the ohm migration can
|
||||||
|
ship through the kernel-agent flow today without first reconstructing
|
||||||
|
12 series-dirs. The proper per-series split is tracked separately —
|
||||||
|
see kernel-agent issue (TBD) for the rewrite.
|
||||||
|
|
||||||
|
## Provenance
|
||||||
|
|
||||||
|
- Source file: `boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/0001-bes2600-besser-cumulative-series.patch`
|
||||||
|
- Reflects c5x driver state in `marfrit/bes2600-dkms-mobian` branch as
|
||||||
|
of 2026-05-08, applied against `drivers/staging/bes2600/` in-tree.
|
||||||
|
- Series legend (A, B, C v3, F, G, D, E, C2, c5.x, c6.x, c7, H — NOT
|
||||||
|
alphabetical) per the danctnix-besser-pkgbuild changelog comments.
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# scan-filter-5ghz-danctnix — close besser#1
|
||||||
|
|
||||||
|
Refuses multi-channel 5 GHz scan requests at the driver boundary with
|
||||||
|
`-EOPNOTSUPP`, eliminating the WSM 0x0007 reject storm. Single-channel
|
||||||
|
5 GHz scans still pass through (NM `802-11-wireless.band=a` BSS
|
||||||
|
verification path stays functional).
|
||||||
|
|
||||||
|
Phase 7 baseline on ohm: Pattern A 14.3/h → 0/h (verified 2026-05-18,
|
||||||
|
30 min window). 5 GHz association achieves 150 Mbit/s MCS 7 HT40 SGI vs
|
||||||
|
72.2 on 2.4 GHz.
|
||||||
|
|
||||||
|
Single combined patch file because the two commits in the source
|
||||||
|
(initial filter + `n_channels > 1` refinement) form a 2-commit
|
||||||
|
follow-up series and git apply concatenation handles both. Splitting
|
||||||
|
into two .patch files would mean a fragile dependency on cross-file
|
||||||
|
sequencing inside the same series-dir.
|
||||||
|
|
||||||
|
Provenance: closes besser#1. Mirror of source-of-truth in
|
||||||
|
`marfrit/bes2600-dkms` branch `bes2600/scan-filter-5ghz`.
|
||||||
Reference in New Issue
Block a user