RE: [PATCH] platform/x86: amd-pmc: only use callbacks for suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Public]

> -----Original Message-----
> From: Hans de Goede <hdegoede@xxxxxxxxxx>
> Sent: Friday, December 10, 2021 10:57
> To: Limonciello, Mario <Mario.Limonciello@xxxxxxx>; Mark Gross
> <mgross@xxxxxxxxxxxxxxx>; open list:X86 PLATFORM DRIVERS <platform-driver-
> x86@xxxxxxxxxxxxxxx>; S-k, Shyam-sundar <Shyam-sundar.S-k@xxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] platform/x86: amd-pmc: only use callbacks for suspend
> 
> Hi Mario,
> 
> On 12/10/21 15:35, Mario Limonciello wrote:
> > This driver is intended to be used exclusively for suspend to idle
> > so callbacks to send OS_HINT during hibernate and S5 will set OS_HINT
> > at the wrong time leading to an undefined behavior.
> >
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> 
> I notice that there are no [Bug]Link tags here ?  It would be helpful
> to have some links to tickets / forum-posts from people who are actually
> hitting issues because of this. Both so that people with similar issues
> can then compare the symptoms as described in the links, as well as for
> me to get an idea of how urgent of a fix this is.

It was the result of an internal testing that this issue was raised.  It hasn't
yet been hit in the wild that I'm aware of.  However in the circumstances
that lead to this failure it was approximately a 83% failure rate when it
occurred from this problem.


> 
> Regards,
> 
> Hans
> 
> 
> 
> 
> > ---
> >  drivers/platform/x86/amd-pmc.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-
> pmc.c
> > index 841c44cd64c2..230593ae5d6d 100644
> > --- a/drivers/platform/x86/amd-pmc.c
> > +++ b/drivers/platform/x86/amd-pmc.c
> > @@ -508,7 +508,8 @@ static int __maybe_unused amd_pmc_resume(struct
> device *dev)
> >  }
> >
> >  static const struct dev_pm_ops amd_pmc_pm_ops = {
> > -	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(amd_pmc_suspend,
> amd_pmc_resume)
> > +	.suspend_noirq = amd_pmc_suspend,
> > +	.resume_noirq = amd_pmc_resume,
> >  };
> >
> >  static const struct pci_device_id pmc_pci_ids[] = {
> >




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux