]> www.infradead.org Git - users/jedix/linux-maple.git/commit
pci: test for unexpectedly disabled bridges
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 31 Dec 2020 22:05:12 +0000 (22:05 +0000)
committerJohannes Weiner <hannes@cmpxchg.org>
Thu, 31 Dec 2020 22:05:12 +0000 (22:05 +0000)
commit4d2bf17cec4cdaa0e22b0729db18c7264d65acc5
treed847d377989b3733e7a776f56cb7509c8866d025
parentbb8decbe713dfbb8cec9906d7af0688ba98978d2
pci: test for unexpectedly disabled bridges

The all-ones value is not just a "device didn't exist" case, it's also
potentially a quite valid value, so not restoring it would be wrong.

What *would* be interesting is to hear where the bad values came from in
the first place.  It sounds like the device state is saved after the PCI
bus controller in front of the device has been crapped on, resulting in the
PCI config cycles never reaching the device at all.

Something along this patch (together with suspend/resume debugging output)
migth help pinpoint it.  But it really sounds like something totally
brokenly turned off the PCI bridge (some ACPI shutdown crud?  I wouldn't be
entirely surprised)

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/pci/pci.c