From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfram Sang Subject: Re: [PATCH] i2c: i2c-qcom-geni: Fix suspend clock handling Date: Tue, 31 Jul 2018 21:20:32 +0200 Message-ID: <20180731192032.5l7tcdbywlfejzig@ninjato> References: <20180709234937.176154-1-evgreen@chromium.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="6eyt7etlhfdgewk5" Return-path: Content-Disposition: inline In-Reply-To: <20180709234937.176154-1-evgreen@chromium.org> Sender: linux-kernel-owner@vger.kernel.org To: Evan Green Cc: andy.gross@linaro.org, david.brown@linaro.org, Karthikeyan Ramasubramanian , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, swboyd@chromium.org, dianders@chromium.org, Girish Mahadevan , linux-i2c@vger.kernel.org List-Id: linux-i2c@vger.kernel.org --6eyt7etlhfdgewk5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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. >=20 > 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. >=20 > An example of the warning generated during suspend: > [ 68.314733] WARNING: CPU: 0 PID: 1990 at drivers/clk/clk.c:595 clk_cor= e_disable+0x28/0x200 > [ 68.464576] Call trace: > [ 68.554410] [] clk_core_disable+0x28/0x200 > [ 68.560244] [] clk_disable+0x38/0x4c > [ 68.565541] [] geni_se_resources_off+0x40/0x74 > [ 68.571731] [] geni_i2c_runtime_suspend+0x2c/0x3c > [ 68.578185] [] geni_i2c_suspend_noirq+0x38/0x68 > [ 68.584475] [] dpm_run_callback+0x104/0x210 > [ 68.590404] [] __device_suspend_noirq+0x158/0x1a8 > [ 68.596859] [] dpm_noirq_suspend_devices+0x180/0x38c > [ 68.603594] [] suspend_devices_and_enter+0x49c/0x964 > [ 68.610321] [] pm_suspend+0x690/0x6e0 > [ 68.615712] [] state_store+0xd4/0xf8 > [ 68.621014] [] kobj_attr_store+0x18/0x28 > [ 68.626672] [] sysfs_kf_write+0x5c/0x68 > [ 68.632240] [] kernfs_fop_write+0x174/0x1b8 > [ 68.638177] [] __vfs_write+0x58/0x160 > [ 68.643567] [] vfs_write+0xcc/0x184 > [ 68.648780] [] SyS_write+0x64/0xb4 >=20 > Signed-off-by: Evan Green Applied to for-next (squashed into the main driver), thanks! --6eyt7etlhfdgewk5 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAltgtn8ACgkQFA3kzBSg KbbTcA//cNMYL/bNq2oLELjgaXo2AbPPGIRYDALjP/W7Jh5qCeFU4YJo1R60iWxf IkXvPazIBG01Py5RwvtwmDRWQ3O1gAbfG2g+SXbOEJhmQZt3cqRJX8yX9vNGgDJ8 c7EqLK1DhX+FwhzAl7tuv448piUBvC8dkKjzhAsupFfsZy/e7Vz9VsI+tFkcJlqM LEUuB+TKvEP8b4eX1KdIERxkfqKHD5GquBQ620SRh2nezF5Ops8Ne6HlJvdMWEpY 2+RmAOkLqnnG1NinRxr3iDsp652gNwjftYWXTfe2cNJTen+k/gWKqMAQ05ffwTE1 Y7ZRY0U3QFN0ty5Td13SCm/Dhzs2XhSLntwk0W1hub5GyQY1pkefWtLhT2aO+Zc1 SEdpGOqT+Pemm7u+Crog0LPC5KmHd7GEnNv38qOYPsEdp7AwJxQ49UgQGUmWqupz rJL+AdWjK87yzVIxOoFfpAut/sVf9Vz6wi0/wOlYJ1kmC9u4W/WCYaWrRzQAvqKc NXt5U6e1rBWxwVk1xnIf8ppTI21Atjl162vV2Apk099PlARayPduXqcii8inFKPk w87kA8JpEatPs5K/n05zkrA3VDoJlsomixxf0uF9cIV7fAlP8fdFzRFxwpt2dJuL mvj7nBp+ptYx+gzAqx/KzsuPb2K//4VM4ya1xbXVPJA9/fWcAv4= =J9jv -----END PGP SIGNATURE----- --6eyt7etlhfdgewk5--