The last open item from #365 (step 5), split out so the parent could close on its measured results.
State: branch 8814a-retry-audit carries the audited change — write DATA_RETRY_LIMIT from cfg on the 8814A like every other die. The carve-out it removes traces to byte-matching 88XXau's monitor-injection descriptor during the #50 silence hunt (the kernel leaves the field 0 because its injection path never retries), not to a die erratum: RETRY_LIMIT_ENABLE=1 in both drivers, and the OWN/DISQSELSEQ + GID skips — which DO encode real 8814A field-meaning differences — stay.
The blocker: the bench 8814AU's 3081 MCU no longer boots — _Fwdl8814_KernelPath: RSVD-page ack failed + CPU_DL_READY never asserted across two real VBUS cold cycles (including an 8 s drain) at hub 3-2.3 port 2. Dead host TX with or without the change, so neither arm of the A/B is measurable. tests/adapter_doctor_cold.sh is the formal grading pass when someone is at the bench.
The bench (ready to run on a healthy 8814A):
sudo TX_PID=0x8813 WIT_PID=0xc812 LIMITS="0 2 8" SECS=8 bash tests/kestrel_retry_witness.sh
Pass = limit-obedient modal copies {1,3,9} (the field counts retries on 11ac dies) and no TX-wedge (rc=-7 patterns). Then: merge the branch, flip tx_retry_limit_ok for CHIP_8814A, update the truth tables. Fail = keep the carve-out, but documented as measured rather than inherited — the acceptable outcome #365 named.
Refs: #365 (parent), #374/#375 (the sibling steps that closed it), branch 8814a-retry-audit.
The last open item from #365 (step 5), split out so the parent could close on its measured results.
State: branch
8814a-retry-auditcarries the audited change — writeDATA_RETRY_LIMITfrom cfg on the 8814A like every other die. The carve-out it removes traces to byte-matching 88XXau's monitor-injection descriptor during the #50 silence hunt (the kernel leaves the field 0 because its injection path never retries), not to a die erratum:RETRY_LIMIT_ENABLE=1in both drivers, and the OWN/DISQSELSEQ + GID skips — which DO encode real 8814A field-meaning differences — stay.The blocker: the bench 8814AU's 3081 MCU no longer boots —
_Fwdl8814_KernelPath: RSVD-page ack failed+CPU_DL_READY never assertedacross two real VBUS cold cycles (including an 8 s drain) at hub 3-2.3 port 2. Dead host TX with or without the change, so neither arm of the A/B is measurable.tests/adapter_doctor_cold.shis the formal grading pass when someone is at the bench.The bench (ready to run on a healthy 8814A):
Pass = limit-obedient modal copies {1,3,9} (the field counts retries on 11ac dies) and no TX-wedge (rc=-7 patterns). Then: merge the branch, flip
tx_retry_limit_okfor CHIP_8814A, update the truth tables. Fail = keep the carve-out, but documented as measured rather than inherited — the acceptable outcome #365 named.Refs: #365 (parent), #374/#375 (the sibling steps that closed it), branch
8814a-retry-audit.