Re: [PATCH] PCI: vmd: Flush initiator posted writes before demuxing interrupts on Meteor Lake
From: Varsh Satti
Date: Mon Oct 12 2026 - 15:40:36 EST
On Mon, Aug 24, 2026 at 09:32:20PM -0700, Rickey Bartlett wrote:
> Meteor Lake VMD (8086:7d0b) is affected by erratum MTL016: the VMD can
> signal its MSI before the posted writes carrying a child device's DMA
> data have landed in memory.
Arrow Lake-H is affected too. It uses the same VMD device ID
(8086:7d0b), so the existing match already covers it.
Hardware: ASUS ROG Zephyrus G16 GU605CP (BIOS GU605CP.307), Core Ultra 9
285H, with a WD PC SN5000S (firmware 34230100) as the only device behind
the VMD.
Without the patch, on 7.2.9, I got 13 "timeout, completion polled"
events in about an hour of desktop use. Each one froze the desktop for
up to 30 seconds. Disabling APST and ASPM
(nvme_core.default_ps_max_latency_us=0 pcie_aspm=off) did not help: I
still got 7 in a 10 minute boot.
With the patch backported to 7.2.9, there were no timeouts in 13+ hours
of normal use (~340k reads). Average read latency went from 77 ms to
0.49 ms. Apart from context, the only change the backport needed was
adding struct vmd_dev::features, which 7.2 doesn't have.
Since this fixes 30 second stalls on laptops that are already shipping,
would it be suitable for stable?
Tested-by: Varsh Satti <varsh@xxxxxxxxx>