[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5486ab34-4e5b-e2d5-9475-4d7e24a0cda6@redhat.com>
Date: Mon, 19 Feb 2018 21:59:13 +0100
From: Hans de Goede <hdegoede@...hat.com>
To: Mark Brown <broonie@...nel.org>
Cc: Liam Girdwood <lgirdwood@...il.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] regulator: core: Handle PM_SUSPEND_TO_IDLE
suspend_state_t
Hi,
On 19-02-18 12:34, Mark Brown wrote:
> On Sun, Feb 18, 2018 at 06:04:24PM +0100, Hans de Goede wrote:
>> The regulator framework is used on x86 in some cases now and x86 has
>> a PM_SUSPEND_TO_IDLE suspend_state_t, treat this as PM_SUSPEND_STANDBY,
>> this fixes these errors on resume:
>
> This was already fixed by Geert.
There are multiple callers of regulator_get_suspend_state() in
drivers/regulator/core.c, I assume you refer to this commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/regulator/core.c?id=57a0dd187956ea04870f4bbbf25a63c425ee7cad
Even with that commit I'm still seeing these errors on resume:
[ 753.064002] dpm_run_callback(): regulator_resume_early+0x0/0x60 returns -22
[ 753.064014] PM: Device regulator.0 failed to resume early: error -22
These are caused by the -EINVAL return after the
regulator_get_suspend_state() call in
_regulator_resume_early() and there are other callers
of regulator_get_suspend_state() which return -EINVAL
too.
I think just returning 0 in this case makes sense, but it
looks like that needs to be done in several places.
Regards,
Hans
Powered by blists - more mailing lists