Commit 0c8d604d authored by Jinjie Ruan's avatar Jinjie Ruan Committed by Andi Shyti
Browse files

i2c: xiic: Fix pm_runtime_set_suspended() with runtime pm enabled



It is not valid to call pm_runtime_set_suspended() for devices
with runtime PM enabled because it returns -EAGAIN if it is enabled
already and working. So, call pm_runtime_disable() before to fix it.

Fixes: 36ecbcab ("i2c: xiic: Implement power management")
Cc: <stable@vger.kernel.org> # v4.6+
Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
parent 6d340541
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1337,8 +1337,8 @@ static int xiic_i2c_probe(struct platform_device *pdev)
	return 0;

err_pm_disable:
	pm_runtime_set_suspended(&pdev->dev);
	pm_runtime_disable(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);

	return ret;
}