From: Heiner Kallweit <hkallwe...@gmail.com> Date: Tue, 21 Aug 2018 23:19:04 +0200
> That's what I get on my system (RTL8168E-VL). In your case you'll come > only till the first suspend. > > [ 3.743404] r8169 0000:03:00.0: MSI-X entry: context probe: fee01004 0 > 40ef 1 On probe, MSI-X is masked (ie. disabled) and is configured to use: address: 0x00000000fee01004 data: 0x00000000000040ef > [ 29.539250] r8169 0000:03:00.0: MSI-X entry: context suspend: fee02004 0 > 4028 0 At suspend time, MSI-X is unmasked (ie. enabled) and is configured to use: address: 0x00000000fee01004 data: 0x0000000000004028 > [ 29.837457] r8169 0000:03:00.0: MSI-X entry: context resume: fee01004 0 > 402b 0 At reume time, MSI-X is unmasked (ie. enabled) and is configured to use: address: 0x00000000fee01004 data: 0x000000000000402b > [ 36.921370] r8169 0000:03:00.0: MSI-X entry: context suspend: fee01004 0 > 402b 0 Second suspend: address: 0x00000000fee01004 data: 0x000000000000402b > [ 37.239407] r8169 0000:03:00.0: MSI-X entry: context resume: fee01004 0 > 402b 0 Second resume: address: 0x00000000fee01004 data: 0x000000000000402b And this all looks normal. The data field is changing when you first up the device and interrupts are enabled. This is where the request_irq happens, the MSI vector is allocated, and that vector number is written to the data field of the MSI-X entry. It looks like this (re-)allocation of MSI vectors happens on every resume as well. And that's why the data field changes each resume.