[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180731192032.5l7tcdbywlfejzig@ninjato>
Date: Tue, 31 Jul 2018 21:20:32 +0200
From: Wolfram Sang <wsa@...-dreams.de>
To: Evan Green <evgreen@...omium.org>
Cc: andy.gross@...aro.org, david.brown@...aro.org,
Karthikeyan Ramasubramanian <kramasub@...eaurora.org>,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
swboyd@...omium.org, dianders@...omium.org,
Girish Mahadevan <girishm@...eaurora.org>,
linux-i2c@...r.kernel.org
Subject: Re: [PATCH] i2c: i2c-qcom-geni: Fix suspend clock handling
On Mon, Jul 09, 2018 at 04:49:37PM -0700, Evan Green wrote:
> pm_runtime_suspended can return 0 even if the last runtime power
> management function called in the device was a suspend call. This
> trips up the i2c-qcom-geni's suspend_noirq accounting, which was
> trying to use the function to determine if it should disable clocks
> or if that had already been done.
>
> The fix is to track whether or not clocks have been enabled explicitly
> in the driver with a new member. While in there, also honor the return
> value of geni_se_resources_off, which can technically fail.
>
> An example of the warning generated during suspend:
> [ 68.314733] WARNING: CPU: 0 PID: 1990 at drivers/clk/clk.c:595 clk_core_disable+0x28/0x200
> [ 68.464576] Call trace:
> [ 68.554410] [<ffffff80083f0ed0>] clk_core_disable+0x28/0x200
> [ 68.560244] [<ffffff80083f349c>] clk_disable+0x38/0x4c
> [ 68.565541] [<ffffff8008408910>] geni_se_resources_off+0x40/0x74
> [ 68.571731] [<ffffff800862aadc>] geni_i2c_runtime_suspend+0x2c/0x3c
> [ 68.578185] [<ffffff800862ae6c>] geni_i2c_suspend_noirq+0x38/0x68
> [ 68.584475] [<ffffff800852bd40>] dpm_run_callback+0x104/0x210
> [ 68.590404] [<ffffff800852c3d4>] __device_suspend_noirq+0x158/0x1a8
> [ 68.596859] [<ffffff800852dff0>] dpm_noirq_suspend_devices+0x180/0x38c
> [ 68.603594] [<ffffff80080fdebc>] suspend_devices_and_enter+0x49c/0x964
> [ 68.610321] [<ffffff80080fea14>] pm_suspend+0x690/0x6e0
> [ 68.615712] [<ffffff80080fc930>] state_store+0xd4/0xf8
> [ 68.621014] [<ffffff80088a57f0>] kobj_attr_store+0x18/0x28
> [ 68.626672] [<ffffff8008297a54>] sysfs_kf_write+0x5c/0x68
> [ 68.632240] [<ffffff8008296a00>] kernfs_fop_write+0x174/0x1b8
> [ 68.638177] [<ffffff800821a2c4>] __vfs_write+0x58/0x160
> [ 68.643567] [<ffffff800821a5d8>] vfs_write+0xcc/0x184
> [ 68.648780] [<ffffff800821a850>] SyS_write+0x64/0xb4
>
> Signed-off-by: Evan Green <evgreen@...omium.org>
Applied to for-next (squashed into the main driver), thanks!
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists