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. > > 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. Bjorn