public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: "Mario Limonciello (AMD) (kernel.org)" <superm1@kernel.org>
To: Pascal Ernster <git@hardfalcon.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Sasha Levin <sashal@kernel.org>
Subject: Re: Patch "PM: hibernate: Add pm_hibernation_mode_is_suspend()" has been added to the 6.17-stable tree
Date: Tue, 21 Oct 2025 15:45:49 -0500	[thread overview]
Message-ID: <8c4d1326-512c-4b98-bac0-aa207b54aa2a@kernel.org> (raw)
In-Reply-To: <2745b827-b831-4964-8fc5-368f7446d73e@hardfalcon.net>



On 10/21/2025 3:43 PM, Pascal Ernster wrote:
> [2025-10-20 10:36] gregkh linuxfoundation ! org:
>> This is a note to let you know that I've just added the patch titled
>>
>>      PM: hibernate: Add pm_hibernation_mode_is_suspend()
>>
>> to the 6.17-stable tree which can be found at:
>>      http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>>
>> The filename of the patch is:
>>       pm-hibernate-add-pm_hibernation_mode_is_suspend.patch
>> and it can be found in the queue-6.17 subdirectory.
>>
>> If you, or anyone else, feels it should not be added to the stable tree,
>> please let <stable@vger.kernel.org> know about it.
>>
>>
>>  From stable+bounces-187839-greg=kroah.com@vger.kernel.org Sat Oct 18 15:51:25 2025
>> From: Sasha Levin <sashal@kernel.org>
>> Date: Sat, 18 Oct 2025 09:51:01 -0400
>> Subject: PM: hibernate: Add pm_hibernation_mode_is_suspend()
>> To: stable@vger.kernel.org
>> Cc: "Mario Limonciello (AMD)" <superm1@kernel.org>, Ionut Nechita <ionut_n2001@yahoo.com>, Kenneth Crudup <kenny@panix.com>, Alex Deucher <alexander.deucher@amd.com>, "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, Sasha Levin <sashal@kernel.org>
>> Message-ID: <20251018135102.711457-1-sashal@kernel.org>
>>
>> From: "Mario Limonciello (AMD)" <superm1@kernel.org>
>>
>> [ Upstream commit 495c8d35035edb66e3284113bef01f3b1b843832 ]
>>
>> Some drivers have different flows for hibernation and suspend. If
>> the driver opportunistically will skip thaw() then it needs a hint
>> to know what is happening after the hibernate.
>>
>> Introduce a new symbol pm_hibernation_mode_is_suspend() that drivers
>> can call to determine if suspending the system for this purpose.
>>
>> Tested-by: Ionut Nechita <ionut_n2001@yahoo.com>
>> Tested-by: Kenneth Crudup <kenny@panix.com>
>> Acked-by: Alex Deucher <alexander.deucher@amd.com>
>> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> Stable-dep-of: 0a6e9e098fcc ("drm/amd: Fix hybrid sleep")
>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> ---
>>   include/linux/suspend.h  |    2 ++
>>   kernel/power/hibernate.c |   11 +++++++++++
>>   2 files changed, 13 insertions(+)
>>
>> --- a/include/linux/suspend.h
>> +++ b/include/linux/suspend.h
>> @@ -276,6 +276,7 @@ extern void arch_suspend_enable_irqs(voi
>>   
>>   extern int pm_suspend(suspend_state_t state);
>>   extern bool sync_on_suspend_enabled;
>> +bool pm_hibernation_mode_is_suspend(void);
>>   #else /* !CONFIG_SUSPEND */
>>   #define suspend_valid_only_mem	NULL
>>   
>> @@ -288,6 +289,7 @@ static inline bool pm_suspend_via_firmwa
>>   static inline bool pm_resume_via_firmware(void) { return false; }
>>   static inline bool pm_suspend_no_platform(void) { return false; }
>>   static inline bool pm_suspend_default_s2idle(void) { return false; }
>> +static inline bool pm_hibernation_mode_is_suspend(void) { return false; }
>>   
>>   static inline void suspend_set_ops(const struct platform_suspend_ops *ops) {}
>>   static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; }
>> --- a/kernel/power/hibernate.c
>> +++ b/kernel/power/hibernate.c
>> @@ -80,6 +80,17 @@ static const struct platform_hibernation
>>   
>>   static atomic_t hibernate_atomic = ATOMIC_INIT(1);
>>   
>> +#ifdef CONFIG_SUSPEND
>> +/**
>> + * pm_hibernation_mode_is_suspend - Check if hibernation has been set to suspend
>> + */
>> +bool pm_hibernation_mode_is_suspend(void)
>> +{
>> +	return hibernation_mode == HIBERNATION_SUSPEND;
>> +}
>> +EXPORT_SYMBOL_GPL(pm_hibernation_mode_is_suspend);
>> +#endif
>> +
>>   bool hibernate_acquire(void)
>>   {
>>   	return atomic_add_unless(&hibernate_atomic, -1, 0);
>>
>>
>> Patches currently in stable-queue which might be from sashal@kernel.org are
>>
>> queue-6.17/drm-amd-fix-hybrid-sleep.patch
>> queue-6.17/usb-gadget-introduce-free_usb_request-helper.patch
>> queue-6.17/pm-hibernate-add-pm_hibernation_mode_is_suspend.patch
>> queue-6.17/usb-gadget-store-endpoint-pointer-in-usb_request.patch
>> queue-6.17/media-nxp-imx8-isi-m2m-fix-streaming-cleanup-on-release.patch
>> queue-6.17/usb-gadget-f_rndis-refactor-bind-path-to-use-__free.patch
> 
> 
> Hi,
> 
> 
> I kept getting "ERROR: modpost: "pm_hibernation_mode_is_suspend" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!" when trying to build a 6.17.4 kernel with all the patches from queue-6.17 applied on top (from the stable-queue git repo at commit id 6aceec507fd0d3cefa7cac227eaf897edf09bf32). That build-time error is gone and the resulting kernel boots/runs fine on various x86_64 machines and VMs since I've removed/omitted both this patch and queue-6.17/drm-amd-fix-hybrid-sleep.patch.
> 
> I'm not sure if omitting queue-6.17/drm-amd-fix-hybrid-sleep.patch would have been sufficient, but both patches are part of the same patch set anyway.
> 
> Sadly, I haven't been able to figure out what about the changes actually causes the issue. My first guess was that if CONFIG_SUSPEND is not selected/enabled, then the whole pm_hibernation_mode_is_suspend() function and the corresponding export symbol would be missing. However, the kernel that I was trying to build *does* have CONFIG_SUSPEND=y in its config, so this shouldn't be the cause…
> 
> 
> Regards
> Pascal

Are you cleaning your tree between builds?

  reply	other threads:[~2025-10-21 20:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2025102032-crescent-acuteness-5060 () gregkh>
2025-10-21 20:43 ` Patch "PM: hibernate: Add pm_hibernation_mode_is_suspend()" has been added to the 6.17-stable tree Pascal Ernster
2025-10-21 20:45   ` Mario Limonciello (AMD) (kernel.org) [this message]
2025-10-21 21:08     ` Pascal Ernster
2025-10-21 21:19       ` Mario Limonciello (AMD) (kernel.org)
2025-10-21 21:34         ` Mario Limonciello (AMD) (kernel.org)
2025-10-21 21:53           ` Pascal Ernster
2025-10-22  3:52             ` Pascal Ernster
2025-10-22  5:30               ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8c4d1326-512c-4b98-bac0-aa207b54aa2a@kernel.org \
    --to=superm1@kernel.org \
    --cc=git@hardfalcon.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox