[+to linux-pci] On Wed, Mar 03, 2021 at 05:08:37PM +0000, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=212039 > > Bug ID: 212039 > Summary: PCI_COMMAND randomly flips to 0 after system resume, > breaks the xHCI device > Product: Drivers > Version: 2.5 > Kernel Version: mainline, linux-next > Hardware: All > OS: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: PCI > Assignee: drivers_pci@xxxxxxxxxxxxxxxxxxxx > Reporter: kai.heng.feng@xxxxxxxxxxxxx > Regression: No > > After system resume, the read on PCI_COMMAND may randomly be 0 in > pci_read_config_word(), which is called by __pci_set_master(). Comment #3 says this is not reproducible on Intel RVP. What platform *does* it occur on? Does it always happen on that platform? (You said "randomly" above, but I don't know it that means it happens on some platforms but not others, or it happens sometimes on a give platform but not always.) > So it only enables Bus Master in next pci_read_config_word(), > disabling "Memory Space", "I/O Space" at the same time. > > This makes xHCI driver fail to access MMIO register, render USB > unusable. Apparently this only affect the xHCI device? That's weird; the code that restores config registers after resume should be pretty generic, so a bug there should affect lots of devices. But maybe there's some firmware component since it seems to happen on some platforms but not others.