notes: Patch C v3 Phase 4 plan — drop sdio_rx_work, match cw1200 #11
Reference in New Issue
Block a user
Delete Branch "claude-noether-9"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Supersedes PR #10's v2 plan. After cw1200 mainline mining confirmed upstream has no sdio_rx_work workqueue, the right move is the architectural pivot, not the atomic_t workaround.
TL;DR
Specifically request reviewer focus on §6 risk #6
__bes2600_irq_enable(1)is commented out in the bh-loopdone:label and has anasm volatile("nop")placeholder in its place (bh.c:1518-1520). This is the symptom-shaped artifact noted in the Opus critique (PR #8). v3 needs to know: is IRQ re-enable load-bearing for the SDIO RX path? cw1200 explicitly re-enables; bes2600 commented it out. Audit blocks Phase 6.What's NOT in v3
ieee80211_rx_listbatch delivery — that's still Patch C2, gated on Task #19 kerneldoc verificationState
§6 risk #6 audit — RESOLVED, not a blocker
Went and looked while you review.
__bes2600_irq_enable()athwio.c:327is a stub:No register read, no write, no flag manipulation. Always returns 0. Whatever this function did on cw1200 silicon (writes
ST90TDS_CONFIG_REG_IDto set/clearST90TDS_CONF_IRQ_RDY_ENABLE, see cw1200's__cw1200_irq_enablein hwio.c:267) it does NOT do on bes2600.So:
bh.c:1520(//__bes2600_irq_enable(1)) and itsasm volatile("nop")replacement: harmless. The Bestechnic engineer who commented it out was right; the function is dead code.bh.c:1527(__bes2600_irq_enable(0)) on the bh-thread exit path: a no-op call.fwio.cparallels in cw1200 (lines 491, 520) — bes2600 has its ownbes_fw.cthat doesn't need them; bes2600's IRQ enable isn't driver-managed at this level.main.cteardown call in cw1200 (line 601) — bes2600 doesn't have an analogous call, again because the function is a stub.Implication for v3 plan: no need to add an IRQ re-enable in the new bh-side read path. bes2600's SDIO IRQ enable is managed by
sdio_claim_irqand chip-side firmware. v3's IRQ flow is identical to today's flow minus the relay; the disabled-during-bh-operation concern doesn't exist on this silicon.Phase 6 of v3 unblocked on this risk. The other risks in §6 still stand.
Readiness summary:
A9438692…, no WARN, link clean)Ready for Phase 6 v3 implementation as soon as Phase 5 review of this plan passes.