Hi, On 2/16/24 07:41, Shyam Sundar S K wrote: > TEE enact command failures are seen after each suspend/resume cycle; > fix this by cancelling the policy builder workqueue before going into > suspend and reschedule the workqueue after resume. > > [ 629.516792] ccp 0000:c2:00.2: tee: command 0x5 timed out, disabling PSP > [ 629.516835] amd-pmf AMDI0102:00: TEE enact cmd failed. err: ffff000e, ret:0 > [ 630.550464] amd-pmf AMDI0102:00: AMD_PMF_REGISTER_RESPONSE:1 > [ 630.550511] amd-pmf AMDI0102:00: AMD_PMF_REGISTER_ARGUMENT:7 > [ 630.550548] amd-pmf AMDI0102:00: AMD_PMF_REGISTER_MESSAGE:16 > > Fixes: ae82cef7d9c5 ("platform/x86/amd/pmf: Add support for PMF-TA interaction") > Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@xxxxxxx> > Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@xxxxxxx> > Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > --- > v2->v3: > - No change > > v1->v2: > - remove enum smart_pc_status and adjust the code handling > > drivers/platform/x86/amd/pmf/core.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/platform/x86/amd/pmf/core.c b/drivers/platform/x86/amd/pmf/core.c > index 1d6dbd246d65..853158933510 100644 > --- a/drivers/platform/x86/amd/pmf/core.c > +++ b/drivers/platform/x86/amd/pmf/core.c > @@ -296,6 +296,9 @@ static int amd_pmf_suspend_handler(struct device *dev) > { > struct amd_pmf_dev *pdev = dev_get_drvdata(dev); > > + if (pdev->smart_pc_enabled) > + cancel_delayed_work_sync(&pdev->pb_work); > + > kfree(pdev->buf); > > return 0; > @@ -312,6 +315,9 @@ static int amd_pmf_resume_handler(struct device *dev) > return ret; > } > > + if (pdev->smart_pc_enabled) > + schedule_delayed_work(&pdev->pb_work, msecs_to_jiffies(2000)); > + > return 0; > } >