On Thu, Jan 5, 2023 at 12:01 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > On Thu, Jan 05, 2023 at 10:49:53AM +0800, Huacai Chen wrote: > > On Thu, Jan 5, 2023 at 2:37 AM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > > On Tue, Jan 03, 2023 at 03:34:01PM +0800, Huacai Chen wrote: > > > > cc27b735ad3a7557 ("PCI/portdrv: Turn off PCIe services during shutdown") > > > > causes poweroff/reboot failure on systems with LS7A chipset. We found > > > > that if we remove "pci_command &= ~PCI_COMMAND_MASTER" in do_pci_disable > > > > _device(), it can work well. The hardware engineer says that the root > > > > cause is that CPU is still accessing PCIe devices while poweroff/reboot, > > > > > > Did you ever figure out what these CPU accesses are? If we call the > > > Root Port .shutdown() method, and later access a downstream device, > > > that seems like a problem in itself. At least, we should understand > > > exactly *why* we access that downstream device. > > > > Maybe I failed to get the key point, but from my point of view, the > > root cause is clear in previous discussions: > > https://lore.kernel.org/linux-pci/CAAhV-H5uT+wDRkVbW_o1hG2u0rtv6FFABTymL1VdjMMD_UEN+Q@xxxxxxxxxxxxxx/ > > https://lore.kernel.org/linux-pci/20220617113708.GA1177054@bhelgaas/ > > https://lore.kernel.org/linux-pci/CAAhV-H6raQnXZ4ZZRq19cugew26wXYONctcFO0392gZ00LC6bw@xxxxxxxxxxxxxx/ > > That's great, but the root cause should be summarized here in the > commit log. OK, I will update the commit log. > > > > To be clear, cc27b735ad3a does not cause the failure. IIUC, the cause > > > is: > > > > cc27b735ad3a is not a bug, we refer to it just because we observe > > problems after it. > > Right. But you said "cc27b735ad3a ... causes failure," which is not > quite true. cc27b735ad3a may *expose* an LS7A hardware defect that > previously didn't cause a problem, but I don't want to blame > cc27b735ad3a for that hardware issue. OK, got it. Huacai > > Bjorn