On Sun, Jan 16, 2022 at 2:44 AM Tareque Md.Hanif <tarequemd.hanif@xxxxxxxxx> wrote: > > Hi Hsin-Yi, > > The issue still exists. I reverted a19f75de73c220b4496d2aefb7a605dd032f7c01 (the commit that reverted 5a7b95fb993ec399c8a685552aa6a8fc995c40bd) and manually applied the patch (tags/v5.16). journalctl attached. hi Tareque, Can you apply the same setting[1] again and with this patch to see if the issue is still there? https://github.com/torvalds/linux/commit/6dc8265f9803ccb7e5da804e01601f0c14f270e0 [1] reverted a19f75de73c220b4496d2aefb7a605dd032f7c01 (the commit that reverted 5a7b95fb993ec399c8a685552aa6a8fc995c40bd) and manually applied the patch (tags/v5.16) Thanks > > Regards, > > Tareque > > On Saturday, January 15, 2022, 11:27:07 PM GMT+6, Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> wrote: > > > 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); >