Message ID | 20190311133122.11417-8-s.miroshnichenko@yadro.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | PCI: Allow BAR movement during hotplug | expand |
On Mon, Mar 11, 2019 at 04:31:08PM +0300, Sergey Miroshnichenko wrote: > Use the PM runtime methods to wake up the bridges before accessing > their config space. > > Signed-off-by: Sergey Miroshnichenko <s.miroshnichenko@yadro.com> > --- > drivers/pci/probe.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 88350dd56344..dc935f82a595 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -3252,6 +3252,8 @@ static void pci_bus_rescan_prepare(struct pci_bus *bus) > { > struct pci_dev *dev; > > + pm_runtime_get_sync(&bus->dev); This should be part of the patch that adds the config space access so we can tell specifically what code requires the wakeup. > list_for_each_entry(dev, &bus->devices, bus_list) { > struct pci_bus *child = dev->subordinate; > > @@ -3278,6 +3280,8 @@ static void pci_bus_rescan_done(struct pci_bus *bus) > dev->driver->rescan_done(dev); > } > } > + > + pm_runtime_put(&bus->dev); > } > > /** > -- > 2.20.1 >
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 88350dd56344..dc935f82a595 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -3252,6 +3252,8 @@ static void pci_bus_rescan_prepare(struct pci_bus *bus) { struct pci_dev *dev; + pm_runtime_get_sync(&bus->dev); + list_for_each_entry(dev, &bus->devices, bus_list) { struct pci_bus *child = dev->subordinate; @@ -3278,6 +3280,8 @@ static void pci_bus_rescan_done(struct pci_bus *bus) dev->driver->rescan_done(dev); } } + + pm_runtime_put(&bus->dev); } /**
Use the PM runtime methods to wake up the bridges before accessing their config space. Signed-off-by: Sergey Miroshnichenko <s.miroshnichenko@yadro.com> --- drivers/pci/probe.c | 4 ++++ 1 file changed, 4 insertions(+)