On Mon, Jun 09, 2025 at 04:21:22PM GMT, Krishna Chaitanya Chundru wrote: > If the link is not up till the pwrctl drivers enable power to endpoints > then cur_bus_speed will not be updated with correct speed. > > As part of rescan, pci_pwrctrl_notify() will be called when new devices > are added and as part of it update the link bus speed. > > Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx> > --- > drivers/pci/pwrctrl/core.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/pci/pwrctrl/core.c b/drivers/pci/pwrctrl/core.c > index 6bdbfed584d6d79ce28ba9e384a596b065ca69a4..4c1d3832c43503a7e434a3fe5e0bf15a148434dc 100644 > --- a/drivers/pci/pwrctrl/core.c > +++ b/drivers/pci/pwrctrl/core.c > @@ -10,16 +10,21 @@ > #include <linux/pci-pwrctrl.h> > #include <linux/property.h> > #include <linux/slab.h> > +#include "../pci.h" > > static int pci_pwrctrl_notify(struct notifier_block *nb, unsigned long action, > void *data) > { > struct pci_pwrctrl *pwrctrl = container_of(nb, struct pci_pwrctrl, nb); > struct device *dev = data; > + struct pci_bus *bus = to_pci_dev(dev)->bus; > > if (dev_fwnode(dev) != dev_fwnode(pwrctrl->dev)) > return NOTIFY_DONE; > > + if (bus->self) > + pcie_update_link_speed(bus); I'm wondering why this should be in pwrctrl driver and not in pci_device_add()? - Mani -- மணிவண்ணன் சதாசிவம்