# DF-5163 — amdgpu atom-i2c scratch race (missing port of radeon scratch_mutex)

**PoC verdict: not_reproduced on audit guest (virtio VGA, amdgpu never
attaches). Structural race proven by inspection; see `VERDICT.md`.**

## Reproduce (on amdgpu hardware)

Two hw_capable DDC buses under concurrent probe (amdgpu_hw_i2c=1 default in
this tree), e.g. repeated display hotplug polling on two connectors while
reading EDIDs; look for EDID bytes from one connector appearing on the other
(torn/interleaved reads). `ddc_race_sketch.c` documents the window; there is
no userland-only driver for this path on DragonFly (the amdgpu i2c adapters
are internal to drm DDC probing).

## Artifacts

- `ddc_race_sketch.c` — documented trigger sketch (compile-clean)
- `fix.diff` — 4-file port of radeon's scratch_mutex fix (git-apply-able)
- `VERDICT.md` — full line-cited analysis
