Bug 216242

Summary: MSI is enabled after system resume despite MSI-X is already enabled.
Product: Drivers Reporter: Kai-Heng Feng (kai.heng.feng)
Component: PCIAssignee: drivers_pci (drivers_pci)
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: mainline, linux-next Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg
lspci before suspend
lspci after resume

Description Kai-Heng Feng 2022-07-12 07:22:44 UTC
MSI/MSI-X can have garbage data after system resume.
Before suspend:
    Capabilities: [a0] MSI: Enable- Count=1/4 Maskable- 64bit+
            Address: 0000000000000000  Data: 0000
    Capabilities: [c0] MSI-X: Enable+ Count=4 Masked-
            Vector table: BAR=5 offset=00042000
            PBA: BAR=5 offset=00043000
    
After resume:
    Capabilities: [a0] MSI: Enable+ Count=128/4 Maskable- 64bit+
            Address: fffffffffffffffc  Data: ffff
    Capabilities: [c0] MSI-X: Enable+ Count=4 Masked-
            Vector table: BAR=5 offset=00042000
            PBA: BAR=5 offset=00043000

It's PCI device 64:00.0.
Comment 1 Kai-Heng Feng 2022-07-12 07:23:03 UTC
Created attachment 301398 [details]
dmesg
Comment 2 Kai-Heng Feng 2022-07-12 07:23:36 UTC
Created attachment 301399 [details]
lspci before suspend
Comment 3 Kai-Heng Feng 2022-07-12 07:23:59 UTC
Created attachment 301400 [details]
lspci after resume