On Fri, Aug 02, 2024 at 11:25:00AM +0530, Manivannan Sadhasivam via B4 Relay wrote: > PCI core is already caching the value of pci_bridge_d3_possible() in > pci_dev::bridge_d3 during pci_pm_init(). Since the value is not going to > change, let's make use of the cached value. [...] > --- a/drivers/pci/pcie/portdrv.c > +++ b/drivers/pci/pcie/portdrv.c > @@ -702,7 +702,7 @@ static int pcie_portdrv_probe(struct pci_dev *dev, > dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE | > DPM_FLAG_SMART_SUSPEND); > > - if (pci_bridge_d3_possible(dev)) { > + if (dev->bridge_d3) { I don't know if there was a reason to call pci_bridge_d3_possible() (instead of using the cached value) on probe, remove and shutdown. The change is probably safe but it would still be good to get some positive test results with Thunderbolt laptops etc to raise the confidence. Thanks, Lukas