[COMMON] i2c: exynos5: call runtime pm callback directly in suspend / resume function
authorYoungmin Nam <youngmin.nam@samsung.com>
Mon, 14 Nov 2016 11:36:53 +0000 (20:36 +0900)
committermyung-su.cha <myung-su.cha@samsung.com>
Wed, 9 May 2018 12:14:45 +0000 (21:14 +0900)
commit254b897006d6f84a362820b7d06ba9ad29a5a557
tree0bbfd5768bb65a2d41bcf85cfa2dfa59cb67cb6a
parentc385009b1567e66849af1fda7f3701894674dbc6
[COMMON] i2c: exynos5: call runtime pm callback directly in suspend / resume function

If there is transfer request in system suspend stage, the runtime suspend callback
will not be called after transfer completion because the runtime suspend callback of
pm_runtime_put_autosuspend() is queued into workqueue as freezable.
After that, without calling runtime suspend callback before system suspend, it can cause
lock up by central sequencer stuck because clock request is high.
To fix this issue, runtime pm callback should be called directly in suspend / resume
function if runtime pm status is not "suspended".

Change-Id: I5c5751debb577dfce2a838212d45c72b2c2f4a05
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
drivers/i2c/busses/i2c-exynos5.c