On 18 May 2018 at 10:58, Rafael J. Wysocki <raf...@kernel.org> wrote: > On Fri, May 18, 2018 at 10:48 AM, Ulf Hansson <ulf.hans...@linaro.org> wrote: >> In the driver core, before it invokes really_probe() it runtime resumes the >> suppliers for the device via calling pm_runtime_get_suppliers(), which also >> increases the runtime PM usage count for each of the available supplier. >> >> This makes sense, as to be able to allow the consumer device to be probed >> by its driver. However, if the driver decides to add a new supplier link >> during ->probe(), hence updating the list of suppliers, > > Do any of the existing drivers do that?
Yes. At least these, but possibly even more... drivers/gpu/drm/rockchip/rockchip_drm_drv.c drivers/gpu/drm/tegra/dc.c drivers/gpu/ipu-v3/ipu-prg.c drivers/pci/dwc/pci-dra7xx.c > >> the following call to pm_runtime_put_suppliers(), invoked after >> really_probe() >> in the driver core, we get into trouble. Kind regards Uffe