PM regression with commit 5de85b9d57ab PM runtime re-init in v4.5-rc1
From: rafael@kernel.org (Rafael J. Wysocki)
Date: 2016-02-03 17:18:51
Also in:
linux-omap, linux-pm
From: rafael@kernel.org (Rafael J. Wysocki)
Date: 2016-02-03 17:18:51
Also in:
linux-omap, linux-pm
On Wed, Feb 3, 2016 at 12:46 AM, Tony Lindgren [off-list ref] wrote:
* Alan Stern [off-list ref] [160202 13:46]:quoted
On Tue, 2 Feb 2016, Tony Lindgren wrote:quoted
quoted
Also, what is autosuspend_delay set to for your device? And is runtime_auto set?It's 100 at that point, see the commented snippet below from omap_hsmmc_probe(): pm_runtime_enable(host->dev); pm_runtime_get_sync(host->dev); pm_runtime_set_autosuspend_delay(host->dev, MMC_AUTOSUSPEND_DELAY); /* NOTE: pm_runtime_dont_use_autosuspend(host->dev) needed here? */ pm_runtime_use_autosuspend(host->dev); ... /* gets -EPROBE_DEFER */ err_irq: ... pm_runtime_put_sync(host->dev);You could try changing this to pm_runtime_put_sync_suspend(). But putting pm_runtime_dont_use_autosuspend() before the put_sync seems like a perfectly reasonable thing to do, especially if you feel you should reverse all the changes you made at the start.
FWIW, I'd call pm_runtime_dont_use_autosuspend() before put_sync(). After all, the driver doesn't want to use autosuspend going forward, so stating that explicitly looks like the right thing to do. Thanks, Rafael