On Friday, May 18, 2018 11:07:02 AM CEST Ulf Hansson wrote: > 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.
Patch applied, thanks!