hi Tareque, On Fri, Jan 14, 2022 at 6:09 PM Tareque Md Hanif <tarequemd.hanif@xxxxxxxxx> wrote: > > Hi Hsin-Yi, > > On 1/12/22 16:58, Hsin-Yi Wang wrote: > > Can you help provide logs if we apply > 5a7b95fb993ec399c8a685552aa6a8fc995c40bd but revert > 8d35a2596164c1c9d34d4656fd42b445cd1e247f? > > Issue still exists. journalctl log attached in revert_8d.txt > > > > after apply 5a7b95fb993ec399c8a685552aa6a8fc995c40bd > > 1. delete SET_LATE_SYSTEM_SLEEP_PM_OPS(i2c_suspend_late, > > i2c_resume_early) and function i2c_suspend_late() and > > i2c_resume_early(). > > No issues. journalctl log attached in test1.txt > > > > 2. delete SET_RUNTIME_PM_OPS(i2c_runtime_suspend, i2c_runtime_resume, > > NULL) and function i2c_runtime_suspend() and i2c_runtime_resume(). > > Issue exists. journalctl log attached in test2.txt Thanks for the testing. Can you help us test if applying the following patch on top of 5a7b95fb993ec399c8a685552aa6a8fc995c40bd works? Thanks diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index 9eb4009cb250..6b046012aa08 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -484,7 +484,7 @@ static int i2c_resume_early(struct device *dev) struct i2c_client *client = i2c_verify_client(dev); int err; - if (!client) + if (!client || dev_pm_skip_resume(dev)) return 0; if (pm_runtime_status_suspended(&client->dev) && @@ -502,7 +502,7 @@ static int i2c_suspend_late(struct device *dev) struct i2c_client *client = i2c_verify_client(dev); int err; - if (!client) + if (!client || dev_pm_skip_suspend(dev)) return 0; err = pm_generic_suspend_late(&client->dev);