linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices
@ 2025-03-14 12:46 Rafael J. Wysocki
  2025-03-14 12:50 ` [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent Rafael J. Wysocki
                   ` (5 more replies)
  0 siblings, 6 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-14 12:46 UTC (permalink / raw)
  To: Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan

Hi Everyone,

This is a new iteration of the async suspend/resume improvements work:

https://lore.kernel.org/linux-pm/1915694.tdWV9SEqCh@rjwysocki.net/

which includes some rework and fixes of the patches in the series linked
above.  The most significant differences are splitting the second patch
into two patches and adding a change to treat consumers like children
during resume.

This new iteration is based on linux-pm.git/linux-next and on the recent
fix related to direct-complete:

https://lore.kernel.org/linux-pm/12627587.O9o76ZdvQC@rjwysocki.net/

The overall idea is still to start async processing for devices that have
at least some dependencies met, but not necessarily all of them, to avoid
overhead related to queuing too many async work items that will have to
wait for the processing of other devices before they can make progress.

Patch [1/5] does this in all resume phases, but it just takes children
into account (that is, async processing is started upfront for devices
without parents and then, after resuming each device, it is started for
the device's children).

Patches [2/5] does this in the suspend phase of system suspend and only
takes parents into account (that is, async processing is started upfront
for devices without any children and then, after suspending each device,
it is started for the device's parent).

Patch [3/5] extends it to the "late" and "noirq" suspend phases.

Patch [4/5] adds changes to treat suppliers like parents during suspend.
That is, async processing is started upfront for devices without any
children or consumers and then, after suspending each device, it is
started for the device's parent and suppliers.

Patch [5/5] adds changes to treat consumers like children during resume.
That is, async processing is started upfront for devices without a parent
or any suppliers and then, after resuming each device, it is started for
the device's children and consumers.

Preliminary test results from one sample system are below.

"Baseline" is the linux-pm.git/testing branch, "Parent/child"
is that branch with patches [1-3/5] applied and "Device links"
is that branch with patches [1-5/5] applied.

"s/r" means "regular" suspend/resume, noRPM is "late" suspend
and "early" resume, and noIRQ means the "noirq" phases of
suspend and resume, respectively.  The numbers are suspend
and resume times for each phase, in milliseconds.

         Baseline       Parent/child    Device links

       Suspend Resume  Suspend Resume  Suspend Resume

s/r    427     449     298     450     294     442
noRPM  13      1       13      1       13      1
noIRQ  31      25      28      24      28      26

s/r    408     442     298     443     301     447
noRPM  13      1       13      1       13      1
noIRQ  32      25      30      25      28      25

s/r    408     444     310     450     298     439
noRPM  13      1       13      1       13      1
noIRQ  31      24      31      26      31      24

It clearly shows an improvement in the suspend path after
applying patches [1-3/5], easily attributable to patch [2/5],
and clear difference after updating the async processing of
suppliers and consumers.

Note that there are systems where resume times are shorter after
patches [1-3/5] too, but more testing is necessary.

I do realize that this code can be optimized further, but it is not
particularly clear to me that any further optimizations would make
a significant difference and the changes in this series are deep
enough to do in one go.

Thanks!




^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
@ 2025-03-14 12:50 ` Rafael J. Wysocki
  2025-05-01  9:51   ` Jon Hunter
  2025-07-11 13:08   ` Tudor Ambarus
  2025-03-14 13:13 ` [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children Rafael J. Wysocki
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-14 12:50 UTC (permalink / raw)
  To: Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

According to [1], the handling of device suspend and resume, and
particularly the latter, involves unnecessary overhead related to
starting new async work items for devices that cannot make progress
right away because they have to wait for other devices.

To reduce this problem in the resume path, use the observation that
starting the async resume of the children of a device after resuming
the parent is likely to produce less scheduling and memory management
noise than starting it upfront while at the same time it should not
increase the resume duration substantially.

Accordingly, modify the code to start the async resume of the device's
children when the processing of the parent has been completed in each
stage of device resume and only start async resume upfront for devices
without parents.

Also make it check if a given device can be resumed asynchronously
before starting the synchronous resume of it in case it will have to
wait for another that is already resuming asynchronously.

In addition to making the async resume of devices more friendly to
systems with relatively less computing resources, this change is also
preliminary for analogous changes in the suspend path.

On the systems where it has been tested, this change by itself does
not affect the overall system resume duration in a measurable way.

Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

v2 -> v3:
   Introduce dpm_root_device() as a wrapper around the dev->parent check,
   adjust comments.

v1 -> v2:
   Use a separate lock for power.work_in_progress protection which should
   reduce lock contention on dpm_list_mtx.

---
 drivers/base/power/main.c |   85 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 66 insertions(+), 19 deletions(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -63,6 +63,7 @@
 static DEFINE_MUTEX(dpm_list_mtx);
 static pm_message_t pm_transition;
 
+static DEFINE_MUTEX(async_wip_mtx);
 static int async_error;
 
 static const char *pm_verb(int event)
@@ -597,8 +598,11 @@
 		&& !pm_trace_is_enabled();
 }
 
-static bool dpm_async_fn(struct device *dev, async_func_t func)
+static bool __dpm_async(struct device *dev, async_func_t func)
 {
+	if (dev->power.work_in_progress)
+		return true;
+
 	if (!is_async(dev))
 		return false;
 
@@ -611,14 +615,37 @@
 
 	put_device(dev);
 
+	return false;
+}
+
+static bool dpm_async_fn(struct device *dev, async_func_t func)
+{
+	guard(mutex)(&async_wip_mtx);
+
+	return __dpm_async(dev, func);
+}
+
+static int dpm_async_with_cleanup(struct device *dev, void *fn)
+{
+	guard(mutex)(&async_wip_mtx);
+
+	if (!__dpm_async(dev, fn))
+		dev->power.work_in_progress = false;
+
+	return 0;
+}
+
+static void dpm_async_resume_children(struct device *dev, async_func_t func)
+{
 	/*
-	 * async_schedule_dev_nocall() above has returned false, so func() is
-	 * not running and it is safe to update power.work_in_progress without
-	 * extra synchronization.
+	 * Start processing "async" children of the device unless it's been
+	 * started already for them.
+	 *
+	 * This could have been done for the device's "async" consumers too, but
+	 * they either need to wait for their parents or the processing has
+	 * already started for them after their parents were processed.
 	 */
-	dev->power.work_in_progress = false;
-
-	return false;
+	device_for_each_child(dev, func, dpm_async_with_cleanup);
 }
 
 static void dpm_clear_async_state(struct device *dev)
@@ -627,6 +654,13 @@
 	dev->power.work_in_progress = false;
 }
 
+static bool dpm_root_device(struct device *dev)
+{
+	return !dev->parent;
+}
+
+static void async_resume_noirq(void *data, async_cookie_t cookie);
+
 /**
  * device_resume_noirq - Execute a "noirq resume" callback for given device.
  * @dev: Device to handle.
@@ -710,6 +744,8 @@
 		dpm_save_failed_dev(dev_name(dev));
 		pm_dev_err(dev, state, async ? " async noirq" : " noirq", error);
 	}
+
+	dpm_async_resume_children(dev, async_resume_noirq);
 }
 
 static void async_resume_noirq(void *data, async_cookie_t cookie)
@@ -733,19 +769,20 @@
 	mutex_lock(&dpm_list_mtx);
 
 	/*
-	 * Trigger the resume of "async" devices upfront so they don't have to
-	 * wait for the "non-async" ones they don't depend on.
+	 * Start processing "async" root devices upfront so they don't wait for
+	 * the "sync" devices they don't depend on.
 	 */
 	list_for_each_entry(dev, &dpm_noirq_list, power.entry) {
 		dpm_clear_async_state(dev);
-		dpm_async_fn(dev, async_resume_noirq);
+		if (dpm_root_device(dev))
+			dpm_async_with_cleanup(dev, async_resume_noirq);
 	}
 
 	while (!list_empty(&dpm_noirq_list)) {
 		dev = to_device(dpm_noirq_list.next);
 		list_move_tail(&dev->power.entry, &dpm_late_early_list);
 
-		if (!dev->power.work_in_progress) {
+		if (!dpm_async_fn(dev, async_resume_noirq)) {
 			get_device(dev);
 
 			mutex_unlock(&dpm_list_mtx);
@@ -781,6 +818,8 @@
 	device_wakeup_disarm_wake_irqs();
 }
 
+static void async_resume_early(void *data, async_cookie_t cookie);
+
 /**
  * device_resume_early - Execute an "early resume" callback for given device.
  * @dev: Device to handle.
@@ -848,6 +887,8 @@
 		dpm_save_failed_dev(dev_name(dev));
 		pm_dev_err(dev, state, async ? " async early" : " early", error);
 	}
+
+	dpm_async_resume_children(dev, async_resume_early);
 }
 
 static void async_resume_early(void *data, async_cookie_t cookie)
@@ -875,19 +916,20 @@
 	mutex_lock(&dpm_list_mtx);
 
 	/*
-	 * Trigger the resume of "async" devices upfront so they don't have to
-	 * wait for the "non-async" ones they don't depend on.
+	 * Start processing "async" root devices upfront so they don't wait for
+	 * the "sync" devices they don't depend on.
 	 */
 	list_for_each_entry(dev, &dpm_late_early_list, power.entry) {
 		dpm_clear_async_state(dev);
-		dpm_async_fn(dev, async_resume_early);
+		if (dpm_root_device(dev))
+			dpm_async_with_cleanup(dev, async_resume_early);
 	}
 
 	while (!list_empty(&dpm_late_early_list)) {
 		dev = to_device(dpm_late_early_list.next);
 		list_move_tail(&dev->power.entry, &dpm_suspended_list);
 
-		if (!dev->power.work_in_progress) {
+		if (!dpm_async_fn(dev, async_resume_early)) {
 			get_device(dev);
 
 			mutex_unlock(&dpm_list_mtx);
@@ -919,6 +961,8 @@
 }
 EXPORT_SYMBOL_GPL(dpm_resume_start);
 
+static void async_resume(void *data, async_cookie_t cookie);
+
 /**
  * device_resume - Execute "resume" callbacks for given device.
  * @dev: Device to handle.
@@ -1018,6 +1062,8 @@
 		dpm_save_failed_dev(dev_name(dev));
 		pm_dev_err(dev, state, async ? " async" : "", error);
 	}
+
+	dpm_async_resume_children(dev, async_resume);
 }
 
 static void async_resume(void *data, async_cookie_t cookie)
@@ -1049,19 +1095,20 @@
 	mutex_lock(&dpm_list_mtx);
 
 	/*
-	 * Trigger the resume of "async" devices upfront so they don't have to
-	 * wait for the "non-async" ones they don't depend on.
+	 * Start processing "async" root devices upfront so they don't wait for
+	 * the "sync" devices they don't depend on.
 	 */
 	list_for_each_entry(dev, &dpm_suspended_list, power.entry) {
 		dpm_clear_async_state(dev);
-		dpm_async_fn(dev, async_resume);
+		if (dpm_root_device(dev))
+			dpm_async_with_cleanup(dev, async_resume);
 	}
 
 	while (!list_empty(&dpm_suspended_list)) {
 		dev = to_device(dpm_suspended_list.next);
 		list_move_tail(&dev->power.entry, &dpm_prepared_list);
 
-		if (!dev->power.work_in_progress) {
+		if (!dpm_async_fn(dev, async_resume)) {
 			get_device(dev);
 
 			mutex_unlock(&dpm_list_mtx);





^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
  2025-03-14 12:50 ` [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent Rafael J. Wysocki
@ 2025-03-14 13:13 ` Rafael J. Wysocki
  2025-06-02 12:11   ` Chris Bainbridge
  2025-03-14 13:14 ` [PATCH v3 3/5] PM: sleep: Make suspend of devices more asynchronous Rafael J. Wysocki
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-14 13:13 UTC (permalink / raw)
  To: Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

In analogy with the previous change affecting the resume path,
make device_suspend() start the async suspend of the device's parent
after the device itself has been processed and make dpm_suspend() start
processing "async" leaf devices (that is, devices without children)
upfront so they don't need to wait for the "sync" devices they don't
depend on.

On the Dell XPS13 9360 in my office, this change reduces the total
duration of device suspend by approximately 100 ms (over 20%).

Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

v2 -> v3:
   * When starting async processing early, only take parents and children
     into account.
   * Refine parent check in dpm_async_suspend_parent().
   * Use list_splice() for merging lists on errors.
   * Adjust subject and changelog.
   * Adjust comments.

v1 -> v2:
   * Adjust for the changes in patch [1/3].
   * Fix walking suppliers in dpm_async_suspend_superior().
   * Use device links read locking in dpm_async_suspend_superior() (Saravana).
   * Move all devices to the target list even if there are errors in
     dpm_suspend() so they are properly resumed during rollback (Saravana).

---
 drivers/base/power/main.c |   67 +++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 63 insertions(+), 4 deletions(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1236,6 +1236,41 @@
 
 /*------------------------- Suspend routines -------------------------*/
 
+static bool dpm_leaf_device(struct device *dev)
+{
+	struct device *child;
+
+	lockdep_assert_held(&dpm_list_mtx);
+
+	child = device_find_any_child(dev);
+	if (child) {
+		put_device(child);
+
+		return false;
+	}
+
+	return true;
+}
+
+static void dpm_async_suspend_parent(struct device *dev, async_func_t func)
+{
+	guard(mutex)(&dpm_list_mtx);
+
+	/*
+	 * If the device is suspended asynchronously and the parent's callback
+	 * deletes both the device and the parent itself, the parent object may
+	 * be freed while this function is running, so avoid that by checking
+	 * if the device has been deleted already as the parent cannot be
+	 * deleted before it.
+	 */
+	if (!device_pm_initialized(dev))
+		return;
+
+	/* Start processing the device's parent if it is "async". */
+	if (dev->parent)
+		dpm_async_with_cleanup(dev->parent, func);
+}
+
 /**
  * resume_event - Return a "resume" message for given "suspend" sleep state.
  * @sleep_state: PM message representing a sleep state.
@@ -1661,6 +1696,8 @@
 	device_links_read_unlock(idx);
 }
 
+static void async_suspend(void *data, async_cookie_t cookie);
+
 /**
  * device_suspend - Execute "suspend" callbacks for given device.
  * @dev: Device to handle.
@@ -1790,7 +1827,13 @@
 
 	complete_all(&dev->power.completion);
 	TRACE_SUSPEND(error);
-	return error;
+
+	if (error || async_error)
+		return error;
+
+	dpm_async_suspend_parent(dev, async_suspend);
+
+	return 0;
 }
 
 static void async_suspend(void *data, async_cookie_t cookie)
@@ -1808,6 +1851,7 @@
 int dpm_suspend(pm_message_t state)
 {
 	ktime_t starttime = ktime_get();
+	struct device *dev;
 	int error = 0;
 
 	trace_suspend_resume(TPS("dpm_suspend"), state.event, true);
@@ -1821,12 +1865,21 @@
 
 	mutex_lock(&dpm_list_mtx);
 
+	/*
+	 * Start processing "async" leaf devices upfront so they don't need to
+	 * wait for the "sync" devices they don't depend on.
+	 */
+	list_for_each_entry_reverse(dev, &dpm_prepared_list, power.entry) {
+		dpm_clear_async_state(dev);
+		if (dpm_leaf_device(dev))
+			dpm_async_with_cleanup(dev, async_suspend);
+	}
+
 	while (!list_empty(&dpm_prepared_list)) {
-		struct device *dev = to_device(dpm_prepared_list.prev);
+		dev = to_device(dpm_prepared_list.prev);
 
 		list_move(&dev->power.entry, &dpm_suspended_list);
 
-		dpm_clear_async_state(dev);
 		if (dpm_async_fn(dev, async_suspend))
 			continue;
 
@@ -1840,8 +1893,14 @@
 
 		mutex_lock(&dpm_list_mtx);
 
-		if (error || async_error)
+		if (error || async_error) {
+			/*
+			 * Move all devices to the target list to resume them
+			 * properly.
+			 */
+			list_splice(&dpm_prepared_list, &dpm_suspended_list);
 			break;
+		}
 	}
 
 	mutex_unlock(&dpm_list_mtx);




^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v3 3/5] PM: sleep: Make suspend of devices more asynchronous
  2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
  2025-03-14 12:50 ` [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent Rafael J. Wysocki
  2025-03-14 13:13 ` [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children Rafael J. Wysocki
@ 2025-03-14 13:14 ` Rafael J. Wysocki
  2025-03-14 13:16 ` [PATCH v3 4/5] PM: sleep: Make async suspend handle suppliers like parents Rafael J. Wysocki
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-14 13:14 UTC (permalink / raw)
  To: Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

In analogy with previous changes, make device_suspend_late() and
device_suspend_noirq() start the async suspend of the device's parent
after the device itself has been processed and make dpm_suspend_late()
and dpm_noirq_suspend_devices() start processing "async" leaf devices
(that is, devices without children) upfront so they don't need to wait
for the other devices they don't depend on.

This change reduces the total duration of device suspend on some systems
measurably, but not significantly.

Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

v2 -> v3:
   * Adjust for the changes made in patch [2/5].
   * Use list_splice() for merging lists on errors.
   * Adjust changelog.

v1 -> v2:
   * Adjust for the changes in patches [1-2/3].
   * Move all devices to the target lists even if there are errors in
     dpm_suspend_late() and dpm_noirq_suspend_devices() so they are
     properly resumed during rollback (Saravana).

---
 drivers/base/power/main.c |   64 ++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 56 insertions(+), 8 deletions(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1308,6 +1308,8 @@
 	device_links_read_unlock(idx);
 }
 
+static void async_suspend_noirq(void *data, async_cookie_t cookie);
+
 /**
  * device_suspend_noirq - Execute a "noirq suspend" callback for given device.
  * @dev: Device to handle.
@@ -1386,7 +1388,13 @@
 Complete:
 	complete_all(&dev->power.completion);
 	TRACE_SUSPEND(error);
-	return error;
+
+	if (error || async_error)
+		return error;
+
+	dpm_async_suspend_parent(dev, async_suspend_noirq);
+
+	return 0;
 }
 
 static void async_suspend_noirq(void *data, async_cookie_t cookie)
@@ -1400,6 +1408,7 @@
 static int dpm_noirq_suspend_devices(pm_message_t state)
 {
 	ktime_t starttime = ktime_get();
+	struct device *dev;
 	int error = 0;
 
 	trace_suspend_resume(TPS("dpm_suspend_noirq"), state.event, true);
@@ -1409,12 +1418,21 @@
 
 	mutex_lock(&dpm_list_mtx);
 
+	/*
+	 * Start processing "async" leaf devices upfront so they don't need to
+	 * wait for the "sync" devices they don't depend on.
+	 */
+	list_for_each_entry_reverse(dev, &dpm_late_early_list, power.entry) {
+		dpm_clear_async_state(dev);
+		if (dpm_leaf_device(dev))
+			dpm_async_with_cleanup(dev, async_suspend_noirq);
+	}
+
 	while (!list_empty(&dpm_late_early_list)) {
-		struct device *dev = to_device(dpm_late_early_list.prev);
+		dev = to_device(dpm_late_early_list.prev);
 
 		list_move(&dev->power.entry, &dpm_noirq_list);
 
-		dpm_clear_async_state(dev);
 		if (dpm_async_fn(dev, async_suspend_noirq))
 			continue;
 
@@ -1428,8 +1446,14 @@
 
 		mutex_lock(&dpm_list_mtx);
 
-		if (error || async_error)
+		if (error || async_error) {
+			/*
+			 * Move all devices to the target list to resume them
+			 * properly.
+			 */
+			list_splice(&dpm_late_early_list, &dpm_noirq_list);
 			break;
+		}
 	}
 
 	mutex_unlock(&dpm_list_mtx);
@@ -1482,6 +1506,8 @@
 	spin_unlock_irq(&parent->power.lock);
 }
 
+static void async_suspend_late(void *data, async_cookie_t cookie);
+
 /**
  * device_suspend_late - Execute a "late suspend" callback for given device.
  * @dev: Device to handle.
@@ -1558,7 +1584,13 @@
 Complete:
 	TRACE_SUSPEND(error);
 	complete_all(&dev->power.completion);
-	return error;
+
+	if (error || async_error)
+		return error;
+
+	dpm_async_suspend_parent(dev, async_suspend_late);
+
+	return 0;
 }
 
 static void async_suspend_late(void *data, async_cookie_t cookie)
@@ -1576,6 +1608,7 @@
 int dpm_suspend_late(pm_message_t state)
 {
 	ktime_t starttime = ktime_get();
+	struct device *dev;
 	int error = 0;
 
 	trace_suspend_resume(TPS("dpm_suspend_late"), state.event, true);
@@ -1587,12 +1620,21 @@
 
 	mutex_lock(&dpm_list_mtx);
 
+	/*
+	 * Start processing "async" leaf devices upfront so they don't need to
+	 * wait for the "sync" devices they don't depend on.
+	 */
+	list_for_each_entry_reverse(dev, &dpm_suspended_list, power.entry) {
+		dpm_clear_async_state(dev);
+		if (dpm_leaf_device(dev))
+			dpm_async_with_cleanup(dev, async_suspend_late);
+	}
+
 	while (!list_empty(&dpm_suspended_list)) {
-		struct device *dev = to_device(dpm_suspended_list.prev);
+		dev = to_device(dpm_suspended_list.prev);
 
 		list_move(&dev->power.entry, &dpm_late_early_list);
 
-		dpm_clear_async_state(dev);
 		if (dpm_async_fn(dev, async_suspend_late))
 			continue;
 
@@ -1606,8 +1648,14 @@
 
 		mutex_lock(&dpm_list_mtx);
 
-		if (error || async_error)
+		if (error || async_error) {
+			/*
+			 * Move all devices to the target list to resume them
+			 * properly.
+			 */
+			list_splice(&dpm_suspended_list, &dpm_late_early_list);
 			break;
+		}
 	}
 
 	mutex_unlock(&dpm_list_mtx);




^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v3 4/5] PM: sleep: Make async suspend handle suppliers like parents
  2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
                   ` (2 preceding siblings ...)
  2025-03-14 13:14 ` [PATCH v3 3/5] PM: sleep: Make suspend of devices more asynchronous Rafael J. Wysocki
@ 2025-03-14 13:16 ` Rafael J. Wysocki
  2025-03-14 13:17 ` [PATCH v3 5/5] PM: sleep: Make async resume handle consumers like children Rafael J. Wysocki
  2025-03-14 21:06 ` [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Saravana Kannan
  5 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-14 13:16 UTC (permalink / raw)
  To: Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Following previous changes, avoid starting "async" suspend processing
upfront for devices that have consumers and start "async" suspend
processing for the supplies of a device after suspending the device
itself.

Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

New patch in v3.

---
 drivers/base/power/main.c |   37 +++++++++++++++++++++++++++++++------
 1 file changed, 31 insertions(+), 6 deletions(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1249,10 +1249,15 @@
 		return false;
 	}
 
-	return true;
+	/*
+	 * Since this function is required to run under dpm_list_mtx, the
+	 * list_empty() below will only return true if the device's list of
+	 * consumers is actually empty before calling it.
+	 */
+	return list_empty(&dev->links.consumers);
 }
 
-static void dpm_async_suspend_parent(struct device *dev, async_func_t func)
+static bool dpm_async_suspend_parent(struct device *dev, async_func_t func)
 {
 	guard(mutex)(&dpm_list_mtx);
 
@@ -1264,11 +1269,31 @@
 	 * deleted before it.
 	 */
 	if (!device_pm_initialized(dev))
-		return;
+		return false;
 
 	/* Start processing the device's parent if it is "async". */
 	if (dev->parent)
 		dpm_async_with_cleanup(dev->parent, func);
+
+	return true;
+}
+
+static void dpm_async_suspend_superior(struct device *dev, async_func_t func)
+{
+	struct device_link *link;
+	int idx;
+
+	if (!dpm_async_suspend_parent(dev, func))
+		return;
+
+	idx = device_links_read_lock();
+
+	/* Start processing the device's "async" suppliers. */
+	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node)
+		if (READ_ONCE(link->status) != DL_STATE_DORMANT)
+			dpm_async_with_cleanup(link->supplier, func);
+
+	device_links_read_unlock(idx);
 }
 
 /**
@@ -1392,7 +1417,7 @@
 	if (error || async_error)
 		return error;
 
-	dpm_async_suspend_parent(dev, async_suspend_noirq);
+	dpm_async_suspend_superior(dev, async_suspend_noirq);
 
 	return 0;
 }
@@ -1588,7 +1613,7 @@
 	if (error || async_error)
 		return error;
 
-	dpm_async_suspend_parent(dev, async_suspend_late);
+	dpm_async_suspend_superior(dev, async_suspend_late);
 
 	return 0;
 }
@@ -1879,7 +1904,7 @@
 	if (error || async_error)
 		return error;
 
-	dpm_async_suspend_parent(dev, async_suspend);
+	dpm_async_suspend_superior(dev, async_suspend);
 
 	return 0;
 }




^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v3 5/5] PM: sleep: Make async resume handle consumers like children
  2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
                   ` (3 preceding siblings ...)
  2025-03-14 13:16 ` [PATCH v3 4/5] PM: sleep: Make async suspend handle suppliers like parents Rafael J. Wysocki
@ 2025-03-14 13:17 ` Rafael J. Wysocki
  2025-03-14 21:06 ` [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Saravana Kannan
  5 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-14 13:17 UTC (permalink / raw)
  To: Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Following previous changes, avoid starting "async" resume processing
upfront for devices that have suppliers and start "async" resume
processing for the consumers of a device after resuming the device
itself.

Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

New patch in v3.

---
 drivers/base/power/main.c |   33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -635,17 +635,25 @@
 	return 0;
 }
 
-static void dpm_async_resume_children(struct device *dev, async_func_t func)
+static void dpm_async_resume_subordinate(struct device *dev, async_func_t func)
 {
+	struct device_link *link;
+	int idx;
+
 	/*
 	 * Start processing "async" children of the device unless it's been
 	 * started already for them.
-	 *
-	 * This could have been done for the device's "async" consumers too, but
-	 * they either need to wait for their parents or the processing has
-	 * already started for them after their parents were processed.
 	 */
 	device_for_each_child(dev, func, dpm_async_with_cleanup);
+
+	idx = device_links_read_lock();
+
+	/* Start processing the device's "async" consumers. */
+	list_for_each_entry_rcu(link, &dev->links.consumers, s_node)
+		if (READ_ONCE(link->status) != DL_STATE_DORMANT)
+			dpm_async_with_cleanup(link->consumer, func);
+
+	device_links_read_unlock(idx);
 }
 
 static void dpm_clear_async_state(struct device *dev)
@@ -656,7 +664,14 @@
 
 static bool dpm_root_device(struct device *dev)
 {
-	return !dev->parent;
+	lockdep_assert_held(&dpm_list_mtx);
+
+	/*
+	 * Since this function is required to run under dpm_list_mtx, the
+	 * list_empty() below will only return true if the device's list of
+	 * consumers is actually empty before calling it.
+	 */
+	return !dev->parent && list_empty(&dev->links.suppliers);
 }
 
 static void async_resume_noirq(void *data, async_cookie_t cookie);
@@ -745,7 +760,7 @@
 		pm_dev_err(dev, state, async ? " async noirq" : " noirq", error);
 	}
 
-	dpm_async_resume_children(dev, async_resume_noirq);
+	dpm_async_resume_subordinate(dev, async_resume_noirq);
 }
 
 static void async_resume_noirq(void *data, async_cookie_t cookie)
@@ -888,7 +903,7 @@
 		pm_dev_err(dev, state, async ? " async early" : " early", error);
 	}
 
-	dpm_async_resume_children(dev, async_resume_early);
+	dpm_async_resume_subordinate(dev, async_resume_early);
 }
 
 static void async_resume_early(void *data, async_cookie_t cookie)
@@ -1063,7 +1078,7 @@
 		pm_dev_err(dev, state, async ? " async" : "", error);
 	}
 
-	dpm_async_resume_children(dev, async_resume);
+	dpm_async_resume_subordinate(dev, async_resume);
 }
 
 static void async_resume(void *data, async_cookie_t cookie)




^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices
  2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
                   ` (4 preceding siblings ...)
  2025-03-14 13:17 ` [PATCH v3 5/5] PM: sleep: Make async resume handle consumers like children Rafael J. Wysocki
@ 2025-03-14 21:06 ` Saravana Kannan
  2025-03-15 14:57   ` Rafael J. Wysocki
  5 siblings, 1 reply; 48+ messages in thread
From: Saravana Kannan @ 2025-03-14 21:06 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux PM, LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter

On Fri, Mar 14, 2025 at 6:24 AM Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
>
> Hi Everyone,
>
> This is a new iteration of the async suspend/resume improvements work:
>
> https://lore.kernel.org/linux-pm/1915694.tdWV9SEqCh@rjwysocki.net/
>
> which includes some rework and fixes of the patches in the series linked
> above.  The most significant differences are splitting the second patch
> into two patches and adding a change to treat consumers like children
> during resume.
>
> This new iteration is based on linux-pm.git/linux-next and on the recent
> fix related to direct-complete:
>
> https://lore.kernel.org/linux-pm/12627587.O9o76ZdvQC@rjwysocki.net/
>
> The overall idea is still to start async processing for devices that have
> at least some dependencies met, but not necessarily all of them, to avoid
> overhead related to queuing too many async work items that will have to
> wait for the processing of other devices before they can make progress.
>
> Patch [1/5] does this in all resume phases, but it just takes children
> into account (that is, async processing is started upfront for devices
> without parents and then, after resuming each device, it is started for
> the device's children).
>
> Patches [2/5] does this in the suspend phase of system suspend and only
> takes parents into account (that is, async processing is started upfront
> for devices without any children and then, after suspending each device,
> it is started for the device's parent).
>
> Patch [3/5] extends it to the "late" and "noirq" suspend phases.
>
> Patch [4/5] adds changes to treat suppliers like parents during suspend.
> That is, async processing is started upfront for devices without any
> children or consumers and then, after suspending each device, it is
> started for the device's parent and suppliers.
>
> Patch [5/5] adds changes to treat consumers like children during resume.
> That is, async processing is started upfront for devices without a parent
> or any suppliers and then, after resuming each device, it is started for
> the device's children and consumers.
>
> Preliminary test results from one sample system are below.
>
> "Baseline" is the linux-pm.git/testing branch, "Parent/child"
> is that branch with patches [1-3/5] applied and "Device links"
> is that branch with patches [1-5/5] applied.
>
> "s/r" means "regular" suspend/resume, noRPM is "late" suspend
> and "early" resume, and noIRQ means the "noirq" phases of
> suspend and resume, respectively.  The numbers are suspend
> and resume times for each phase, in milliseconds.
>
>          Baseline       Parent/child    Device links
>
>        Suspend Resume  Suspend Resume  Suspend Resume
>
> s/r    427     449     298     450     294     442
> noRPM  13      1       13      1       13      1
> noIRQ  31      25      28      24      28      26
>
> s/r    408     442     298     443     301     447
> noRPM  13      1       13      1       13      1
> noIRQ  32      25      30      25      28      25
>
> s/r    408     444     310     450     298     439
> noRPM  13      1       13      1       13      1
> noIRQ  31      24      31      26      31      24
>
> It clearly shows an improvement in the suspend path after
> applying patches [1-3/5], easily attributable to patch [2/5],
> and clear difference after updating the async processing of
> suppliers and consumers.
>
> Note that there are systems where resume times are shorter after
> patches [1-3/5] too, but more testing is necessary.
>
> I do realize that this code can be optimized further, but it is not
> particularly clear to me that any further optimizations would make
> a significant difference and the changes in this series are deep
> enough to do in one go.

Thanks for adding patches 4 and 5!

Let me try to test them early next week and compare your patches 1-3,
1-5 and my series (which does additional checks to make sure
suppliers/consumers are done). I do about 100 suspend/resume runs for
each kernel, so please bear with me while I get it.

Thanks,
Saravana

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices
  2025-03-14 21:06 ` [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Saravana Kannan
@ 2025-03-15 14:57   ` Rafael J. Wysocki
  2025-04-08 13:39     ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-03-15 14:57 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Jon Hunter

[-- Attachment #1: Type: text/plain, Size: 5601 bytes --]

On Fri, Mar 14, 2025 at 10:06 PM Saravana Kannan <saravanak@google.com> wrote:
>
> On Fri, Mar 14, 2025 at 6:24 AM Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> >
> > Hi Everyone,
> >
> > This is a new iteration of the async suspend/resume improvements work:
> >
> > https://lore.kernel.org/linux-pm/1915694.tdWV9SEqCh@rjwysocki.net/
> >
> > which includes some rework and fixes of the patches in the series linked
> > above.  The most significant differences are splitting the second patch
> > into two patches and adding a change to treat consumers like children
> > during resume.
> >
> > This new iteration is based on linux-pm.git/linux-next and on the recent
> > fix related to direct-complete:
> >
> > https://lore.kernel.org/linux-pm/12627587.O9o76ZdvQC@rjwysocki.net/
> >
> > The overall idea is still to start async processing for devices that have
> > at least some dependencies met, but not necessarily all of them, to avoid
> > overhead related to queuing too many async work items that will have to
> > wait for the processing of other devices before they can make progress.
> >
> > Patch [1/5] does this in all resume phases, but it just takes children
> > into account (that is, async processing is started upfront for devices
> > without parents and then, after resuming each device, it is started for
> > the device's children).
> >
> > Patches [2/5] does this in the suspend phase of system suspend and only
> > takes parents into account (that is, async processing is started upfront
> > for devices without any children and then, after suspending each device,
> > it is started for the device's parent).
> >
> > Patch [3/5] extends it to the "late" and "noirq" suspend phases.
> >
> > Patch [4/5] adds changes to treat suppliers like parents during suspend.
> > That is, async processing is started upfront for devices without any
> > children or consumers and then, after suspending each device, it is
> > started for the device's parent and suppliers.
> >
> > Patch [5/5] adds changes to treat consumers like children during resume.
> > That is, async processing is started upfront for devices without a parent
> > or any suppliers and then, after resuming each device, it is started for
> > the device's children and consumers.
> >
> > Preliminary test results from one sample system are below.
> >
> > "Baseline" is the linux-pm.git/testing branch, "Parent/child"
> > is that branch with patches [1-3/5] applied and "Device links"
> > is that branch with patches [1-5/5] applied.
> >
> > "s/r" means "regular" suspend/resume, noRPM is "late" suspend
> > and "early" resume, and noIRQ means the "noirq" phases of
> > suspend and resume, respectively.  The numbers are suspend
> > and resume times for each phase, in milliseconds.
> >
> >          Baseline       Parent/child    Device links
> >
> >        Suspend Resume  Suspend Resume  Suspend Resume
> >
> > s/r    427     449     298     450     294     442
> > noRPM  13      1       13      1       13      1
> > noIRQ  31      25      28      24      28      26
> >
> > s/r    408     442     298     443     301     447
> > noRPM  13      1       13      1       13      1
> > noIRQ  32      25      30      25      28      25
> >
> > s/r    408     444     310     450     298     439
> > noRPM  13      1       13      1       13      1
> > noIRQ  31      24      31      26      31      24
> >
> > It clearly shows an improvement in the suspend path after
> > applying patches [1-3/5], easily attributable to patch [2/5],
> > and clear difference after updating the async processing of
> > suppliers and consumers.

A "no" is missing above, it should be "and no clear difference after
updating ...".

Also, please find attached a text file with sample results from 3
different systems (including the one above), not for drawing any
conclusions (the number of samples is too low), but to illustrate what
can happen.

While both Dell XPS13 systems show a consistent improvement after
applying the first three patches, everything else is essentially a
wash (particularly on the desktop machine that seems to suspend and
resume as fast as it gets already).

> >
> > Note that there are systems where resume times are shorter after
> > patches [1-3/5] too, but more testing is necessary.
> >
> > I do realize that this code can be optimized further, but it is not
> > particularly clear to me that any further optimizations would make
> > a significant difference and the changes in this series are deep
> > enough to do in one go.
>
> Thanks for adding patches 4 and 5!

No problem.

> Let me try to test them early next week and compare your patches 1-3,
> 1-5 and my series (which does additional checks to make sure
> suppliers/consumers are done). I do about 100 suspend/resume runs for
> each kernel, so please bear with me while I get it.

Thanks and no worries, please take as much time as needed.  I will be
traveling next week, so I'll be a bit slow to respond anyway.

Since I've got a confirmation from internal testing (carried out on a
much wider range of machines and much more extensively that I can do
it myself) that patches [1-3/5] are overall improvement, I'm planning
to queue them up during the 6.16 cycle and other improvements can be
done on top of them, including patches [4-5/5].  I also think that
adding explicit status tracking (if it turns out to make things faster
measurably with respect to this series) on top of patches [4-5/5]
would be rather straightforward.

[-- Attachment #2: async-suspend-resume.txt --]
[-- Type: text/plain, Size: 892 bytes --]

	Baseline		Parents/children	Device links

	Suspend	Resume		Suspend	Resume		Suspend	Resume

Dell XPS13 9360

s/r	427	449		298	450		294	442
noRPM	13	1		13	1		13	1
noIRQ	31	25		28	24		28	26

s/r	408	442		298	443		301	447
noRPM	13	1		13	1		13	1
noIRQ	32	25		30	25		28	25

s/r	408	444		310	450		298	439
noRPM	13	1		13	1		13	1
noIRQ	31	24		31	26		31	24

Dell XPS13 9380

s/r	439	283		318	290		319	290
noRPM	15	2		15	1		15	2
noIRQ	198	1766		202	1743		204	1766

s/r	439	281		318	280		320	280
noRPM	15	2		15	1		15	1
noIRQ	199	1781		203	1783		205	1770

s/r	440	279		319	281		320	283
noRPM	14	2		15	1		15	1
noIRQ	197	1777		202	1765		203	1724

Coffee Lake Desktop

s/r	138	347		130	345		132	344
noRPM	15	2		20	2		15	2
noIRQ	15	25		23	25		16	26

s/r	133	345		124	343		131	346
noRPM	14	1		13	1		13	1
noIRQ	15	25		14	25		14	25

s/r	124	343		126	345		128	345
noRPM	13	1		13	1		13	1
noIRQ	14	25		14	25		14	26

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices
  2025-03-15 14:57   ` Rafael J. Wysocki
@ 2025-04-08 13:39     ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-04-08 13:39 UTC (permalink / raw)
  To: Linux PM
  Cc: Saravana Kannan, Rafael J. Wysocki, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Jon Hunter

On Sat, Mar 15, 2025 at 3:57 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Fri, Mar 14, 2025 at 10:06 PM Saravana Kannan <saravanak@google.com> wrote:
> >
> > On Fri, Mar 14, 2025 at 6:24 AM Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> > >
> > > Hi Everyone,
> > >
> > > This is a new iteration of the async suspend/resume improvements work:
> > >
> > > https://lore.kernel.org/linux-pm/1915694.tdWV9SEqCh@rjwysocki.net/
> > >
> > > which includes some rework and fixes of the patches in the series linked
> > > above.  The most significant differences are splitting the second patch
> > > into two patches and adding a change to treat consumers like children
> > > during resume.
> > >
> > > This new iteration is based on linux-pm.git/linux-next and on the recent
> > > fix related to direct-complete:
> > >
> > > https://lore.kernel.org/linux-pm/12627587.O9o76ZdvQC@rjwysocki.net/
> > >
> > > The overall idea is still to start async processing for devices that have
> > > at least some dependencies met, but not necessarily all of them, to avoid
> > > overhead related to queuing too many async work items that will have to
> > > wait for the processing of other devices before they can make progress.
> > >
> > > Patch [1/5] does this in all resume phases, but it just takes children
> > > into account (that is, async processing is started upfront for devices
> > > without parents and then, after resuming each device, it is started for
> > > the device's children).
> > >
> > > Patches [2/5] does this in the suspend phase of system suspend and only
> > > takes parents into account (that is, async processing is started upfront
> > > for devices without any children and then, after suspending each device,
> > > it is started for the device's parent).
> > >
> > > Patch [3/5] extends it to the "late" and "noirq" suspend phases.
> > >
> > > Patch [4/5] adds changes to treat suppliers like parents during suspend.
> > > That is, async processing is started upfront for devices without any
> > > children or consumers and then, after suspending each device, it is
> > > started for the device's parent and suppliers.
> > >
> > > Patch [5/5] adds changes to treat consumers like children during resume.
> > > That is, async processing is started upfront for devices without a parent
> > > or any suppliers and then, after resuming each device, it is started for
> > > the device's children and consumers.
> > >
> > > Preliminary test results from one sample system are below.
> > >
> > > "Baseline" is the linux-pm.git/testing branch, "Parent/child"
> > > is that branch with patches [1-3/5] applied and "Device links"
> > > is that branch with patches [1-5/5] applied.
> > >
> > > "s/r" means "regular" suspend/resume, noRPM is "late" suspend
> > > and "early" resume, and noIRQ means the "noirq" phases of
> > > suspend and resume, respectively.  The numbers are suspend
> > > and resume times for each phase, in milliseconds.
> > >
> > >          Baseline       Parent/child    Device links
> > >
> > >        Suspend Resume  Suspend Resume  Suspend Resume
> > >
> > > s/r    427     449     298     450     294     442
> > > noRPM  13      1       13      1       13      1
> > > noIRQ  31      25      28      24      28      26
> > >
> > > s/r    408     442     298     443     301     447
> > > noRPM  13      1       13      1       13      1
> > > noIRQ  32      25      30      25      28      25
> > >
> > > s/r    408     444     310     450     298     439
> > > noRPM  13      1       13      1       13      1
> > > noIRQ  31      24      31      26      31      24
> > >
> > > It clearly shows an improvement in the suspend path after
> > > applying patches [1-3/5], easily attributable to patch [2/5],
> > > and clear difference after updating the async processing of
> > > suppliers and consumers.
>
> A "no" is missing above, it should be "and no clear difference after
> updating ...".
>
> Also, please find attached a text file with sample results from 3
> different systems (including the one above), not for drawing any
> conclusions (the number of samples is too low), but to illustrate what
> can happen.
>
> While both Dell XPS13 systems show a consistent improvement after
> applying the first three patches, everything else is essentially a
> wash (particularly on the desktop machine that seems to suspend and
> resume as fast as it gets already).
>
> > >
> > > Note that there are systems where resume times are shorter after
> > > patches [1-3/5] too, but more testing is necessary.
> > >
> > > I do realize that this code can be optimized further, but it is not
> > > particularly clear to me that any further optimizations would make
> > > a significant difference and the changes in this series are deep
> > > enough to do in one go.
> >
> > Thanks for adding patches 4 and 5!
>
> No problem.
>
> > Let me try to test them early next week and compare your patches 1-3,
> > 1-5 and my series (which does additional checks to make sure
> > suppliers/consumers are done). I do about 100 suspend/resume runs for
> > each kernel, so please bear with me while I get it.
>
> Thanks and no worries, please take as much time as needed.  I will be
> traveling next week, so I'll be a bit slow to respond anyway.
>
> Since I've got a confirmation from internal testing (carried out on a
> much wider range of machines and much more extensively that I can do
> it myself) that patches [1-3/5] are overall improvement, I'm planning
> to queue them up during the 6.16 cycle and other improvements can be
> done on top of them, including patches [4-5/5].  I also think that
> adding explicit status tracking (if it turns out to make things faster
> measurably with respect to this series) on top of patches [4-5/5]
> would be rather straightforward.

As planned, I'm now going to add patches [1-3/5] to my linux-next branch.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-03-14 12:50 ` [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent Rafael J. Wysocki
@ 2025-05-01  9:51   ` Jon Hunter
  2025-05-02 20:33     ` Rafael J. Wysocki
  2025-07-11 13:08   ` Tudor Ambarus
  1 sibling, 1 reply; 48+ messages in thread
From: Jon Hunter @ 2025-05-01  9:51 UTC (permalink / raw)
  To: Rafael J. Wysocki, Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

Hi Rafael,

On 14/03/2025 12:50, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> According to [1], the handling of device suspend and resume, and
> particularly the latter, involves unnecessary overhead related to
> starting new async work items for devices that cannot make progress
> right away because they have to wait for other devices.
> 
> To reduce this problem in the resume path, use the observation that
> starting the async resume of the children of a device after resuming
> the parent is likely to produce less scheduling and memory management
> noise than starting it upfront while at the same time it should not
> increase the resume duration substantially.
> 
> Accordingly, modify the code to start the async resume of the device's
> children when the processing of the parent has been completed in each
> stage of device resume and only start async resume upfront for devices
> without parents.
> 
> Also make it check if a given device can be resumed asynchronously
> before starting the synchronous resume of it in case it will have to
> wait for another that is already resuming asynchronously.
> 
> In addition to making the async resume of devices more friendly to
> systems with relatively less computing resources, this change is also
> preliminary for analogous changes in the suspend path.
> 
> On the systems where it has been tested, this change by itself does
> not affect the overall system resume duration in a measurable way.
> 
> Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>


I have noticed a suspend regression with -next on a couple of our Tegra 
boards. Bisect was pointing to the following merge commit ...

# first bad commit: [218a7bbf861f83398ac9767620e91983e36eac05] Merge 
branch 'pm-sleep' into linux-next

On top of next-20250429 I found that by reverting the following changes 
that suspend is working again ...

Revert "PM: sleep: Resume children after resuming the parent"
Revert "PM: sleep: Suspend async parents after suspending children"
Revert "PM: sleep: Make suspend of devices more asynchronous"

I have been looking into this a bit more to see what device is failing 
and by adding a bit of debug I found that entry to suspend was failing 
on the Tegra194 Jetson AGX Xavier (tegra194-p2972-0000.dts) platform 
when one of the I2C controllers (i2c@c240000) was being suspended.

I found that if I disable only this I2C controller in device-tree 
suspend worked again on top of -next. This I2C controller has 3 devices 
on the platform; two ina3221 devices and one Cypress Type-C controller. 
I then found that removing only the two ina3221 devices (in 
tegra194-p2888.dtsi) also allows suspend to work.

At this point, I am still unclear why this is now failing.  If you have 
any thoughts or things I can try please let me know.

Thanks!
Jon

-- 
nvpublic


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-01  9:51   ` Jon Hunter
@ 2025-05-02 20:33     ` Rafael J. Wysocki
  2025-05-07 13:21       ` Jon Hunter
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-02 20:33 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

Hi Jon,

On Thu, May 1, 2025 at 11:51 AM Jon Hunter <jonathanh@nvidia.com> wrote:
>
> Hi Rafael,
>
> On 14/03/2025 12:50, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > According to [1], the handling of device suspend and resume, and
> > particularly the latter, involves unnecessary overhead related to
> > starting new async work items for devices that cannot make progress
> > right away because they have to wait for other devices.
> >
> > To reduce this problem in the resume path, use the observation that
> > starting the async resume of the children of a device after resuming
> > the parent is likely to produce less scheduling and memory management
> > noise than starting it upfront while at the same time it should not
> > increase the resume duration substantially.
> >
> > Accordingly, modify the code to start the async resume of the device's
> > children when the processing of the parent has been completed in each
> > stage of device resume and only start async resume upfront for devices
> > without parents.
> >
> > Also make it check if a given device can be resumed asynchronously
> > before starting the synchronous resume of it in case it will have to
> > wait for another that is already resuming asynchronously.
> >
> > In addition to making the async resume of devices more friendly to
> > systems with relatively less computing resources, this change is also
> > preliminary for analogous changes in the suspend path.
> >
> > On the systems where it has been tested, this change by itself does
> > not affect the overall system resume duration in a measurable way.
> >
> > Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> > Suggested-by: Saravana Kannan <saravanak@google.com>
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
>
> I have noticed a suspend regression with -next on a couple of our Tegra
> boards. Bisect was pointing to the following merge commit ...
>
> # first bad commit: [218a7bbf861f83398ac9767620e91983e36eac05] Merge
> branch 'pm-sleep' into linux-next
>
> On top of next-20250429 I found that by reverting the following changes
> that suspend is working again ...
>
> Revert "PM: sleep: Resume children after resuming the parent"
> Revert "PM: sleep: Suspend async parents after suspending children"
> Revert "PM: sleep: Make suspend of devices more asynchronous"

I see.

Do all three commits need to be reverted to make things work again?
The first one only touches the resume path, so it would be surprising
if it caused a suspend regression to occur.

The most likely commit to cause this issue to happen is the second one
because it effectively changes the suspend ordering for "async"
devices.

> I have been looking into this a bit more to see what device is failing
> and by adding a bit of debug I found that entry to suspend was failing
> on the Tegra194 Jetson AGX Xavier (tegra194-p2972-0000.dts) platform
> when one of the I2C controllers (i2c@c240000) was being suspended.
>
> I found that if I disable only this I2C controller in device-tree
> suspend worked again on top of -next. This I2C controller has 3 devices
> on the platform; two ina3221 devices and one Cypress Type-C controller.
> I then found that removing only the two ina3221 devices (in
> tegra194-p2888.dtsi) also allows suspend to work.
>
> At this point, I am still unclear why this is now failing.  If you have
> any thoughts or things I can try please let me know.

So are the devices in question "async"?  To check this, please see the
"async" attribute in the "power" subdirectory of the sysfs device
directory for each of them.

If they are "async", you can write "disable" to this attribute to turn
them into "sync" devices.  I'd do this and see what happens.

Overall, it looks like some dependencies aren't properly represented
by device links on this platform.

Thanks, Rafael

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-02 20:33     ` Rafael J. Wysocki
@ 2025-05-07 13:21       ` Jon Hunter
  2025-05-07 13:39         ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Jon Hunter @ 2025-05-07 13:21 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

Hi Rafael,

On 02/05/2025 21:33, Rafael J. Wysocki wrote:

...

>> I have noticed a suspend regression with -next on a couple of our Tegra
>> boards. Bisect was pointing to the following merge commit ...
>>
>> # first bad commit: [218a7bbf861f83398ac9767620e91983e36eac05] Merge
>> branch 'pm-sleep' into linux-next
>>
>> On top of next-20250429 I found that by reverting the following changes
>> that suspend is working again ...
>>
>> Revert "PM: sleep: Resume children after resuming the parent"
>> Revert "PM: sleep: Suspend async parents after suspending children"
>> Revert "PM: sleep: Make suspend of devices more asynchronous"
> 
> I see.
> 
> Do all three commits need to be reverted to make things work again?
> The first one only touches the resume path, so it would be surprising
> if it caused a suspend regression to occur.

I had to revert the other 2 patches for the kernel to build. I tried to 
only revery this patch, and fix the build issue by defining the missing 
function and mutex, but that did not seem to work. The build worked, but 
suspend still failed. I am not sure if that is conclusive though.

> 
> The most likely commit to cause this issue to happen is the second one
> because it effectively changes the suspend ordering for "async"
> devices.
> 
>> I have been looking into this a bit more to see what device is failing
>> and by adding a bit of debug I found that entry to suspend was failing
>> on the Tegra194 Jetson AGX Xavier (tegra194-p2972-0000.dts) platform
>> when one of the I2C controllers (i2c@c240000) was being suspended.
>>
>> I found that if I disable only this I2C controller in device-tree
>> suspend worked again on top of -next. This I2C controller has 3 devices
>> on the platform; two ina3221 devices and one Cypress Type-C controller.
>> I then found that removing only the two ina3221 devices (in
>> tegra194-p2888.dtsi) also allows suspend to work.
>>
>> At this point, I am still unclear why this is now failing.  If you have
>> any thoughts or things I can try please let me know.
> 
> So are the devices in question "async"?  To check this, please see the
> "async" attribute in the "power" subdirectory of the sysfs device
> directory for each of them.

I checked for both the I2C controller and ina3221 and don't see any 
'async' files ...

$ ls /sys/class/i2c-dev/i2c-2/device/2-0040/power/
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_status
$ ls /sys/class/i2c-dev/i2c-2/device/2-0041/power/
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_status
$ ls /sys/class/i2c-dev/i2c-2/power/
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_status

> If they are "async", you can write "disable" to this attribute to turn
> them into "sync" devices.  I'd do this and see what happens.
> 
> Overall, it looks like some dependencies aren't properly represented
> by device links on this platform.


Yes that would appear to be the case, but at the moment, I don't see 
what it is. The ina3221 devices appear to suspend fine AFAICT, but hangs 
when suspending I2C controller. Exactly where is still a mystery.

Jon

-- 
nvpublic


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 13:21       ` Jon Hunter
@ 2025-05-07 13:39         ` Rafael J. Wysocki
  2025-05-07 14:25           ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-07 13:39 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

Hi Jon,

On Wed, May 7, 2025 at 3:21 PM Jon Hunter <jonathanh@nvidia.com> wrote:
>
> Hi Rafael,
>
> On 02/05/2025 21:33, Rafael J. Wysocki wrote:
>
> ...
>
> >> I have noticed a suspend regression with -next on a couple of our Tegra
> >> boards. Bisect was pointing to the following merge commit ...
> >>
> >> # first bad commit: [218a7bbf861f83398ac9767620e91983e36eac05] Merge
> >> branch 'pm-sleep' into linux-next
> >>
> >> On top of next-20250429 I found that by reverting the following changes
> >> that suspend is working again ...
> >>
> >> Revert "PM: sleep: Resume children after resuming the parent"
> >> Revert "PM: sleep: Suspend async parents after suspending children"
> >> Revert "PM: sleep: Make suspend of devices more asynchronous"
> >
> > I see.
> >
> > Do all three commits need to be reverted to make things work again?
> > The first one only touches the resume path, so it would be surprising
> > if it caused a suspend regression to occur.
>
> I had to revert the other 2 patches for the kernel to build. I tried to
> only revery this patch, and fix the build issue by defining the missing
> function and mutex, but that did not seem to work. The build worked, but
> suspend still failed. I am not sure if that is conclusive though.

The "PM: sleep: Resume children after resuming the parent" patch is
unlikely to introduce the issue, so you should not need to revert it.

The issue is probably introduced by "PM: sleep: Suspend async parents
after suspending children".

> >
> > The most likely commit to cause this issue to happen is the second one
> > because it effectively changes the suspend ordering for "async"
> > devices.
> >
> >> I have been looking into this a bit more to see what device is failing
> >> and by adding a bit of debug I found that entry to suspend was failing
> >> on the Tegra194 Jetson AGX Xavier (tegra194-p2972-0000.dts) platform
> >> when one of the I2C controllers (i2c@c240000) was being suspended.
> >>
> >> I found that if I disable only this I2C controller in device-tree
> >> suspend worked again on top of -next. This I2C controller has 3 devices
> >> on the platform; two ina3221 devices and one Cypress Type-C controller.
> >> I then found that removing only the two ina3221 devices (in
> >> tegra194-p2888.dtsi) also allows suspend to work.
> >>
> >> At this point, I am still unclear why this is now failing.  If you have
> >> any thoughts or things I can try please let me know.
> >
> > So are the devices in question "async"?  To check this, please see the
> > "async" attribute in the "power" subdirectory of the sysfs device
> > directory for each of them.
>
> I checked for both the I2C controller and ina3221 and don't see any
> 'async' files ...
>
> $ ls /sys/class/i2c-dev/i2c-2/device/2-0040/power/
> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> control               runtime_status
> $ ls /sys/class/i2c-dev/i2c-2/device/2-0041/power/
> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> control               runtime_status
> $ ls /sys/class/i2c-dev/i2c-2/power/
> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> control               runtime_status

You need to set CONFIG_PM_ADVANCED_DEBUG to see those (and other debug
attributes).

> > If they are "async", you can write "disable" to this attribute to turn
> > them into "sync" devices.  I'd do this and see what happens.

You may also turn off async suspend altogether:

# echo 0 > /sys/power/pm_async

and see if this helps.

> >
> > Overall, it looks like some dependencies aren't properly represented
> > by device links on this platform.
>
> Yes that would appear to be the case, but at the moment, I don't see
> what it is. The ina3221 devices appear to suspend fine AFAICT, but hangs
> when suspending I2C controller. Exactly where is still a mystery.

So if it works with async suspend disabled, I would check the ordering
in which devices are suspended in that case (probably requires running
with initcall_debug in the kernel command line and echoing 1 to
/sys/power/pm_debug_messages).

Then compare it to the ordering in which devices are suspended with
async suspend enabled (for that, I would hack the I2C controller
suspend return an error early to avoid having to reboot the board
after it hangs).  All of the differences would be suspicious.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 13:39         ` Rafael J. Wysocki
@ 2025-05-07 14:25           ` Rafael J. Wysocki
  2025-05-07 14:39             ` Jon Hunter
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-07 14:25 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

On Wed, May 7, 2025 at 3:39 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> Hi Jon,
>
> On Wed, May 7, 2025 at 3:21 PM Jon Hunter <jonathanh@nvidia.com> wrote:
> >
> > Hi Rafael,
> >
> > On 02/05/2025 21:33, Rafael J. Wysocki wrote:
> >
> > ...
> >
> > >> I have noticed a suspend regression with -next on a couple of our Tegra
> > >> boards. Bisect was pointing to the following merge commit ...
> > >>
> > >> # first bad commit: [218a7bbf861f83398ac9767620e91983e36eac05] Merge
> > >> branch 'pm-sleep' into linux-next
> > >>
> > >> On top of next-20250429 I found that by reverting the following changes
> > >> that suspend is working again ...
> > >>
> > >> Revert "PM: sleep: Resume children after resuming the parent"
> > >> Revert "PM: sleep: Suspend async parents after suspending children"
> > >> Revert "PM: sleep: Make suspend of devices more asynchronous"
> > >
> > > I see.
> > >
> > > Do all three commits need to be reverted to make things work again?
> > > The first one only touches the resume path, so it would be surprising
> > > if it caused a suspend regression to occur.
> >
> > I had to revert the other 2 patches for the kernel to build. I tried to
> > only revery this patch, and fix the build issue by defining the missing
> > function and mutex, but that did not seem to work. The build worked, but
> > suspend still failed. I am not sure if that is conclusive though.
>
> The "PM: sleep: Resume children after resuming the parent" patch is
> unlikely to introduce the issue, so you should not need to revert it.
>
> The issue is probably introduced by "PM: sleep: Suspend async parents
> after suspending children".
>
> > >
> > > The most likely commit to cause this issue to happen is the second one
> > > because it effectively changes the suspend ordering for "async"
> > > devices.
> > >
> > >> I have been looking into this a bit more to see what device is failing
> > >> and by adding a bit of debug I found that entry to suspend was failing
> > >> on the Tegra194 Jetson AGX Xavier (tegra194-p2972-0000.dts) platform
> > >> when one of the I2C controllers (i2c@c240000) was being suspended.
> > >>
> > >> I found that if I disable only this I2C controller in device-tree
> > >> suspend worked again on top of -next. This I2C controller has 3 devices
> > >> on the platform; two ina3221 devices and one Cypress Type-C controller.
> > >> I then found that removing only the two ina3221 devices (in
> > >> tegra194-p2888.dtsi) also allows suspend to work.
> > >>
> > >> At this point, I am still unclear why this is now failing.  If you have
> > >> any thoughts or things I can try please let me know.
> > >
> > > So are the devices in question "async"?  To check this, please see the
> > > "async" attribute in the "power" subdirectory of the sysfs device
> > > directory for each of them.
> >
> > I checked for both the I2C controller and ina3221 and don't see any
> > 'async' files ...
> >
> > $ ls /sys/class/i2c-dev/i2c-2/device/2-0040/power/
> > autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> > control               runtime_status
> > $ ls /sys/class/i2c-dev/i2c-2/device/2-0041/power/
> > autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> > control               runtime_status
> > $ ls /sys/class/i2c-dev/i2c-2/power/
> > autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> > control               runtime_status
>
> You need to set CONFIG_PM_ADVANCED_DEBUG to see those (and other debug
> attributes).
>
> > > If they are "async", you can write "disable" to this attribute to turn
> > > them into "sync" devices.  I'd do this and see what happens.
>
> You may also turn off async suspend altogether:
>
> # echo 0 > /sys/power/pm_async
>
> and see if this helps.
>
> > >
> > > Overall, it looks like some dependencies aren't properly represented
> > > by device links on this platform.
> >
> > Yes that would appear to be the case, but at the moment, I don't see
> > what it is. The ina3221 devices appear to suspend fine AFAICT, but hangs
> > when suspending I2C controller. Exactly where is still a mystery.

I checked in the meantime and found that the i2c subsystem enables
async suspend/resume for all devices, clients and controllers, so the
devices in question are "async" AFAICS.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 14:25           ` Rafael J. Wysocki
@ 2025-05-07 14:39             ` Jon Hunter
  2025-05-07 14:56               ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Jon Hunter @ 2025-05-07 14:39 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org


On 07/05/2025 15:25, Rafael J. Wysocki wrote:

...

>>>> So are the devices in question "async"?  To check this, please see the
>>>> "async" attribute in the "power" subdirectory of the sysfs device
>>>> directory for each of them.
>>>
>>> I checked for both the I2C controller and ina3221 and don't see any
>>> 'async' files ...
>>>
>>> $ ls /sys/class/i2c-dev/i2c-2/device/2-0040/power/
>>> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
>>> control               runtime_status
>>> $ ls /sys/class/i2c-dev/i2c-2/device/2-0041/power/
>>> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
>>> control               runtime_status
>>> $ ls /sys/class/i2c-dev/i2c-2/power/
>>> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
>>> control               runtime_status
>>
>> You need to set CONFIG_PM_ADVANCED_DEBUG to see those (and other debug
>> attributes).
>>
>>>> If they are "async", you can write "disable" to this attribute to turn
>>>> them into "sync" devices.  I'd do this and see what happens.
>>
>> You may also turn off async suspend altogether:
>>
>> # echo 0 > /sys/power/pm_async
>>
>> and see if this helps.

This does indeed help!

>>>> Overall, it looks like some dependencies aren't properly represented
>>>> by device links on this platform.
>>>
>>> Yes that would appear to be the case, but at the moment, I don't see
>>> what it is. The ina3221 devices appear to suspend fine AFAICT, but hangs
>>> when suspending I2C controller. Exactly where is still a mystery.
> 
> I checked in the meantime and found that the i2c subsystem enables
> async suspend/resume for all devices, clients and controllers, so the
> devices in question are "async" AFAICS.

So that would make sense given that the above works.

When it fails it appears to hang in dpm_wait_for_subordinate() when 
calling dpm_wait_for_children() from what I can tell.

I will enable the PM_ADVANCED_DEBUG and confirm that making the I2C 
itself non-async works.

Jon

-- 
nvpublic


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 14:39             ` Jon Hunter
@ 2025-05-07 14:56               ` Rafael J. Wysocki
  2025-05-07 15:39                 ` Jon Hunter
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-07 14:56 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

On Wed, May 7, 2025 at 4:39 PM Jon Hunter <jonathanh@nvidia.com> wrote:
>
>
> On 07/05/2025 15:25, Rafael J. Wysocki wrote:
>
> ...
>
> >>>> So are the devices in question "async"?  To check this, please see the
> >>>> "async" attribute in the "power" subdirectory of the sysfs device
> >>>> directory for each of them.
> >>>
> >>> I checked for both the I2C controller and ina3221 and don't see any
> >>> 'async' files ...
> >>>
> >>> $ ls /sys/class/i2c-dev/i2c-2/device/2-0040/power/
> >>> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> >>> control               runtime_status
> >>> $ ls /sys/class/i2c-dev/i2c-2/device/2-0041/power/
> >>> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> >>> control               runtime_status
> >>> $ ls /sys/class/i2c-dev/i2c-2/power/
> >>> autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
> >>> control               runtime_status
> >>
> >> You need to set CONFIG_PM_ADVANCED_DEBUG to see those (and other debug
> >> attributes).
> >>
> >>>> If they are "async", you can write "disable" to this attribute to turn
> >>>> them into "sync" devices.  I'd do this and see what happens.
> >>
> >> You may also turn off async suspend altogether:
> >>
> >> # echo 0 > /sys/power/pm_async
> >>
> >> and see if this helps.
>
> This does indeed help!
>
> >>>> Overall, it looks like some dependencies aren't properly represented
> >>>> by device links on this platform.
> >>>
> >>> Yes that would appear to be the case, but at the moment, I don't see
> >>> what it is. The ina3221 devices appear to suspend fine AFAICT, but hangs
> >>> when suspending I2C controller. Exactly where is still a mystery.
> >
> > I checked in the meantime and found that the i2c subsystem enables
> > async suspend/resume for all devices, clients and controllers, so the
> > devices in question are "async" AFAICS.
>
> So that would make sense given that the above works.
>
> When it fails it appears to hang in dpm_wait_for_subordinate() when
> calling dpm_wait_for_children() from what I can tell.

So apparently one of the children has not been suspended yet when this
happens.  That's fine because it should be suspended at one point and
the parent suspend should be unblocked, so it looks like the child
suspend doesn't complete for some reason.

> I will enable the PM_ADVANCED_DEBUG and confirm that making the I2C
> itself non-async works.

What probably happens is that after the "PM: sleep: Suspend async
parents after suspending children" , the i2c clients are suspended
upfront (because they have no children) and when one of them has
suspended, it triggers a parent suspend.  The parent suspend then
waits for the other client to complete suspending, but that cannot
make progress for some reason.

Before that patch, the i2c clients would have suspended only after all
of the "sync" devices following them in dpm_list had been suspended
(the list is processed in the reverse order during suspend), so it
looks like there is a hidden dependency between one of the i2c clients
and a "sync" device.

If the above supposition is right, flagging the i2c client as "sync"
will make the problem go away.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 14:56               ` Rafael J. Wysocki
@ 2025-05-07 15:39                 ` Jon Hunter
  2025-05-07 16:43                   ` Rafael J. Wysocki
  2025-05-10 11:39                   ` Rafael J. Wysocki
  0 siblings, 2 replies; 48+ messages in thread
From: Jon Hunter @ 2025-05-07 15:39 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org



On 07/05/2025 15:56, Rafael J. Wysocki wrote:

...

> So apparently one of the children has not been suspended yet when this
> happens.  That's fine because it should be suspended at one point and
> the parent suspend should be unblocked, so it looks like the child
> suspend doesn't complete for some reason.
> 
>> I will enable the PM_ADVANCED_DEBUG and confirm that making the I2C
>> itself non-async works.
> 
> What probably happens is that after the "PM: sleep: Suspend async
> parents after suspending children" , the i2c clients are suspended
> upfront (because they have no children) and when one of them has
> suspended, it triggers a parent suspend.  The parent suspend then
> waits for the other client to complete suspending, but that cannot
> make progress for some reason.
> 
> Before that patch, the i2c clients would have suspended only after all
> of the "sync" devices following them in dpm_list had been suspended
> (the list is processed in the reverse order during suspend), so it
> looks like there is a hidden dependency between one of the i2c clients
> and a "sync" device.
> 
> If the above supposition is right, flagging the i2c client as "sync"
> will make the problem go away.

So all the I2C controllers are 'sync' devices ...

$ cat /sys/class/i2c-dev/i2c-*/power/async
disabled
disabled
disabled
disabled
disabled
disabled
disabled

The I2C clients on the problematic I2C controller are all 'async' 
devices ...

$ cat /sys/class/i2c-dev/i2c-2/device/2-*/power/async
enabled
enabled
enabled

Setting all these to 'disabled' fixes the problem. However, also just 
setting the 'cypd4226' device to 'sync' fixes the problem (the ina3221 
devices seem to be fine being async). The 'cypd4226' device is 
interesting, because this one is a USB Type-C controller and there is a 
circular dependency between the Type-C and USB PHY (see 
arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts).

If I make the following change then this does fix it ...

diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c 
b/drivers/usb/typec/ucsi/ucsi_ccg.c
index f01e4ef6619d..e9a9df1431af 100644
--- a/drivers/usb/typec/ucsi/ucsi_ccg.c
+++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
@@ -1483,6 +1483,8 @@ static int ucsi_ccg_probe(struct i2c_client *client)

         i2c_set_clientdata(client, uc);

+       device_disable_async_suspend(uc->dev);
+
         pm_runtime_set_active(uc->dev);
         pm_runtime_enable(uc->dev);
         pm_runtime_use_autosuspend(uc->dev);

Is this the right fix for this?

Jon

-- 
nvpublic


^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 15:39                 ` Jon Hunter
@ 2025-05-07 16:43                   ` Rafael J. Wysocki
  2025-05-08 13:38                     ` Jon Hunter
  2025-05-10 11:39                   ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-07 16:43 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

On Wed, May 7, 2025 at 5:40 PM Jon Hunter <jonathanh@nvidia.com> wrote:
>
>
>
> On 07/05/2025 15:56, Rafael J. Wysocki wrote:
>
> ...
>
> > So apparently one of the children has not been suspended yet when this
> > happens.  That's fine because it should be suspended at one point and
> > the parent suspend should be unblocked, so it looks like the child
> > suspend doesn't complete for some reason.
> >
> >> I will enable the PM_ADVANCED_DEBUG and confirm that making the I2C
> >> itself non-async works.
> >
> > What probably happens is that after the "PM: sleep: Suspend async
> > parents after suspending children" , the i2c clients are suspended
> > upfront (because they have no children) and when one of them has
> > suspended, it triggers a parent suspend.  The parent suspend then
> > waits for the other client to complete suspending, but that cannot
> > make progress for some reason.
> >
> > Before that patch, the i2c clients would have suspended only after all
> > of the "sync" devices following them in dpm_list had been suspended
> > (the list is processed in the reverse order during suspend), so it
> > looks like there is a hidden dependency between one of the i2c clients
> > and a "sync" device.
> >
> > If the above supposition is right, flagging the i2c client as "sync"
> > will make the problem go away.
>
> So all the I2C controllers are 'sync' devices ...
>
> $ cat /sys/class/i2c-dev/i2c-*/power/async
> disabled
> disabled
> disabled
> disabled
> disabled
> disabled
> disabled
>
> The I2C clients on the problematic I2C controller are all 'async'
> devices ...
>
> $ cat /sys/class/i2c-dev/i2c-2/device/2-*/power/async
> enabled
> enabled
> enabled
>
> Setting all these to 'disabled' fixes the problem. However, also just
> setting the 'cypd4226' device to 'sync' fixes the problem (the ina3221
> devices seem to be fine being async). The 'cypd4226' device is
> interesting, because this one is a USB Type-C controller and there is a
> circular dependency between the Type-C and USB PHY (see
> arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts).

Circular dependencies are problematic for suspend/resume in general.
I wonder if fw_devlink can resolve this?

> If I make the following change then this does fix it ...
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c
> b/drivers/usb/typec/ucsi/ucsi_ccg.c
> index f01e4ef6619d..e9a9df1431af 100644
> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
> @@ -1483,6 +1483,8 @@ static int ucsi_ccg_probe(struct i2c_client *client)
>
>          i2c_set_clientdata(client, uc);
>
> +       device_disable_async_suspend(uc->dev);
> +
>          pm_runtime_set_active(uc->dev);
>          pm_runtime_enable(uc->dev);
>          pm_runtime_use_autosuspend(uc->dev);
>
> Is this the right fix for this?

At least as a stop-gap, yes.

In order to enable async suspend for a device, one needs to at least
assume with sufficiently high confidence that it will be safe to
reorder it with respect to any other device in the system except for
the devices having known dependencies on the device in question.
Those known dependencies either are parent-child connections or they
need to be represented by device links.

In this particular case, it is painfully clear that the suspend of the
device in question cannot be reordered with respect to at least one
other device where the dependency is not known in the above sense.

Thus the device in question should not be allowed to suspend asynchronously.

Would it be better to represent the dependency in question via a
device link?  Yes, it would, but until that happens, disabling async
suspend is the right thing to do IMV.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 16:43                   ` Rafael J. Wysocki
@ 2025-05-08 13:38                     ` Jon Hunter
  2025-05-08 18:06                       ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Jon Hunter @ 2025-05-08 13:38 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org


On 07/05/2025 17:43, Rafael J. Wysocki wrote:

...

>> Setting all these to 'disabled' fixes the problem. However, also just
>> setting the 'cypd4226' device to 'sync' fixes the problem (the ina3221
>> devices seem to be fine being async). The 'cypd4226' device is
>> interesting, because this one is a USB Type-C controller and there is a
>> circular dependency between the Type-C and USB PHY (see
>> arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts).
> 
> Circular dependencies are problematic for suspend/resume in general.
> I wonder if fw_devlink can resolve this?

I booted with fw_devlink=on, but this did not resolve the problem :-(

>> If I make the following change then this does fix it ...
>>
>> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c
>> b/drivers/usb/typec/ucsi/ucsi_ccg.c
>> index f01e4ef6619d..e9a9df1431af 100644
>> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
>> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
>> @@ -1483,6 +1483,8 @@ static int ucsi_ccg_probe(struct i2c_client *client)
>>
>>           i2c_set_clientdata(client, uc);
>>
>> +       device_disable_async_suspend(uc->dev);
>> +
>>           pm_runtime_set_active(uc->dev);
>>           pm_runtime_enable(uc->dev);
>>           pm_runtime_use_autosuspend(uc->dev);
>>
>> Is this the right fix for this?
> 
> At least as a stop-gap, yes.
> 
> In order to enable async suspend for a device, one needs to at least
> assume with sufficiently high confidence that it will be safe to
> reorder it with respect to any other device in the system except for
> the devices having known dependencies on the device in question.
> Those known dependencies either are parent-child connections or they
> need to be represented by device links.
> 
> In this particular case, it is painfully clear that the suspend of the
> device in question cannot be reordered with respect to at least one
> other device where the dependency is not known in the above sense.
> 
> Thus the device in question should not be allowed to suspend asynchronously.
> 
> Would it be better to represent the dependency in question via a
> device link?  Yes, it would, but until that happens, disabling async
> suspend is the right thing to do IMV.

OK so it is not clear to me if the PM core should be handling this for 
us. Is that what you are implying/suggesting?

Thanks
Jon

-- 
nvpublic


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-08 13:38                     ` Jon Hunter
@ 2025-05-08 18:06                       ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-08 18:06 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

On Thu, May 8, 2025 at 3:38 PM Jon Hunter <jonathanh@nvidia.com> wrote:
>
>
> On 07/05/2025 17:43, Rafael J. Wysocki wrote:
>
> ...
>
> >> Setting all these to 'disabled' fixes the problem. However, also just
> >> setting the 'cypd4226' device to 'sync' fixes the problem (the ina3221
> >> devices seem to be fine being async). The 'cypd4226' device is
> >> interesting, because this one is a USB Type-C controller and there is a
> >> circular dependency between the Type-C and USB PHY (see
> >> arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts).
> >
> > Circular dependencies are problematic for suspend/resume in general.
> > I wonder if fw_devlink can resolve this?
>
> I booted with fw_devlink=on, but this did not resolve the problem :-(

I see, but thanks for checking.

> >> If I make the following change then this does fix it ...
> >>
> >> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c
> >> b/drivers/usb/typec/ucsi/ucsi_ccg.c
> >> index f01e4ef6619d..e9a9df1431af 100644
> >> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
> >> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
> >> @@ -1483,6 +1483,8 @@ static int ucsi_ccg_probe(struct i2c_client *client)
> >>
> >>           i2c_set_clientdata(client, uc);
> >>
> >> +       device_disable_async_suspend(uc->dev);
> >> +
> >>           pm_runtime_set_active(uc->dev);
> >>           pm_runtime_enable(uc->dev);
> >>           pm_runtime_use_autosuspend(uc->dev);
> >>
> >> Is this the right fix for this?
> >
> > At least as a stop-gap, yes.
> >
> > In order to enable async suspend for a device, one needs to at least
> > assume with sufficiently high confidence that it will be safe to
> > reorder it with respect to any other device in the system except for
> > the devices having known dependencies on the device in question.
> > Those known dependencies either are parent-child connections or they
> > need to be represented by device links.
> >
> > In this particular case, it is painfully clear that the suspend of the
> > device in question cannot be reordered with respect to at least one
> > other device where the dependency is not known in the above sense.
> >
> > Thus the device in question should not be allowed to suspend asynchronously.
> >
> > Would it be better to represent the dependency in question via a
> > device link?  Yes, it would, but until that happens, disabling async
> > suspend is the right thing to do IMV.
>
> OK so it is not clear to me if the PM core should be handling this for
> us.

No, it can't because dependency information is missing.

> Is that what you are implying/suggesting?

No.

Async suspend needs to be disabled for this device for now I'm afraid
and I don't think that it will make suspend/resume take much more
time.

Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-07 15:39                 ` Jon Hunter
  2025-05-07 16:43                   ` Rafael J. Wysocki
@ 2025-05-10 11:39                   ` Rafael J. Wysocki
  2025-05-10 11:50                     ` Jon Hunter
  1 sibling, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-05-10 11:39 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Rafael J. Wysocki, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org

On Wed, May 7, 2025 at 5:40 PM Jon Hunter <jonathanh@nvidia.com> wrote:
>
>
>
> On 07/05/2025 15:56, Rafael J. Wysocki wrote:
>
> ...
>
> > So apparently one of the children has not been suspended yet when this
> > happens.  That's fine because it should be suspended at one point and
> > the parent suspend should be unblocked, so it looks like the child
> > suspend doesn't complete for some reason.
> >
> >> I will enable the PM_ADVANCED_DEBUG and confirm that making the I2C
> >> itself non-async works.
> >
> > What probably happens is that after the "PM: sleep: Suspend async
> > parents after suspending children" , the i2c clients are suspended
> > upfront (because they have no children) and when one of them has
> > suspended, it triggers a parent suspend.  The parent suspend then
> > waits for the other client to complete suspending, but that cannot
> > make progress for some reason.
> >
> > Before that patch, the i2c clients would have suspended only after all
> > of the "sync" devices following them in dpm_list had been suspended
> > (the list is processed in the reverse order during suspend), so it
> > looks like there is a hidden dependency between one of the i2c clients
> > and a "sync" device.
> >
> > If the above supposition is right, flagging the i2c client as "sync"
> > will make the problem go away.
>
> So all the I2C controllers are 'sync' devices ...
>
> $ cat /sys/class/i2c-dev/i2c-*/power/async
> disabled
> disabled
> disabled
> disabled
> disabled
> disabled
> disabled
>
> The I2C clients on the problematic I2C controller are all 'async'
> devices ...
>
> $ cat /sys/class/i2c-dev/i2c-2/device/2-*/power/async
> enabled
> enabled
> enabled
>
> Setting all these to 'disabled' fixes the problem. However, also just
> setting the 'cypd4226' device to 'sync' fixes the problem (the ina3221
> devices seem to be fine being async). The 'cypd4226' device is
> interesting, because this one is a USB Type-C controller and there is a
> circular dependency between the Type-C and USB PHY (see
> arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts).
>
> If I make the following change then this does fix it ...
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c
> b/drivers/usb/typec/ucsi/ucsi_ccg.c
> index f01e4ef6619d..e9a9df1431af 100644
> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
> @@ -1483,6 +1483,8 @@ static int ucsi_ccg_probe(struct i2c_client *client)
>
>          i2c_set_clientdata(client, uc);
>
> +       device_disable_async_suspend(uc->dev);
> +
>          pm_runtime_set_active(uc->dev);
>          pm_runtime_enable(uc->dev);
>          pm_runtime_use_autosuspend(uc->dev);
>

I'm going to pick up this patch for 6.16 and add a changelog to it, so
please consider providing a Signed-off-by: tag for this change.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-05-10 11:39                   ` Rafael J. Wysocki
@ 2025-05-10 11:50                     ` Jon Hunter
  0 siblings, 0 replies; 48+ messages in thread
From: Jon Hunter @ 2025-05-10 11:50 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Saravana Kannan,
	linux-tegra@vger.kernel.org


On 10/05/2025 12:39, Rafael J. Wysocki wrote:

...

>> If I make the following change then this does fix it ...
>>
>> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c
>> b/drivers/usb/typec/ucsi/ucsi_ccg.c
>> index f01e4ef6619d..e9a9df1431af 100644
>> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
>> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
>> @@ -1483,6 +1483,8 @@ static int ucsi_ccg_probe(struct i2c_client *client)
>>
>>           i2c_set_clientdata(client, uc);
>>
>> +       device_disable_async_suspend(uc->dev);
>> +
>>           pm_runtime_set_active(uc->dev);
>>           pm_runtime_enable(uc->dev);
>>           pm_runtime_use_autosuspend(uc->dev);
>>
> 
> I'm going to pick up this patch for 6.16 and add a changelog to it, so
> please consider providing a Signed-off-by: tag for this change.

OK thanks! Yes, please add my ...

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>

Jon

-- 
nvpublic


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-03-14 13:13 ` [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children Rafael J. Wysocki
@ 2025-06-02 12:11   ` Chris Bainbridge
  2025-06-02 14:29     ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Chris Bainbridge @ 2025-06-02 12:11 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux PM, LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan,
	Mario Limonciello, amd-gfx

On Fri, Mar 14, 2025 at 02:13:53PM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> In analogy with the previous change affecting the resume path,
> make device_suspend() start the async suspend of the device's parent
> after the device itself has been processed and make dpm_suspend() start
> processing "async" leaf devices (that is, devices without children)
> upfront so they don't need to wait for the "sync" devices they don't
> depend on.
> 
> On the Dell XPS13 9360 in my office, this change reduces the total
> duration of device suspend by approximately 100 ms (over 20%).
> 
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

This commit results in memory corruption on suspend/resume with short
suspend duration. Laptop appears to hang and crash is logged to pstore.

To reproduce: `amd_s2idle.py --log log --duration 1 --wait 4 --count 30`

I have reproduced this both with and without Mario's recent suspend fix
https://lore.kernel.org/amd-gfx/20250602014432.3538345-1-superm1@kernel.org/T/#t

Pstore log (with Mario's fix):

<6>[  194.209939] PM: suspend entry (s2idle)
<6>[  194.409450] Filesystems sync: 0.199 seconds
<6>[  194.409756] Freezing user space processes
<6>[  194.411374] Freezing user space processes completed (elapsed 0.001 seconds)
<6>[  194.411377] OOM killer disabled.
<6>[  194.411378] Freezing remaining freezable tasks
<6>[  194.412517] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
<6>[  194.412520] printk: Suspending console(s) (use no_console_suspend to debug)
<7>[  194.663906] PM: suspend of devices aborted after 0.260 msecs
<7>[  194.663911] PM: start suspend of devices aborted after 251.365 msecs
<3>[  194.663913] PM: Some devices failed to suspend, or early wake event detected
<4>[  194.663975] i2c i2c-3: Unbalanced pm_runtime_enable!
<4>[  194.663989] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
Oops#1 Part6
<4>[  194.663991] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
<4>[  194.663992] CPU: 5 UID: 0 PID: 121 Comm: kworker/u64:10 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
<4>[  194.663994] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  194.663996] Workqueue: async async_run_entry_fn
<4>[  194.663998]  slab kmalloc-2k
<4>[  194.664000]
<4>[  194.664000]  start ffff99bbe24ac800 pointer offset 408
<4>[  194.664001] Call Trace:
<4>[  194.664002]  size 2048
<3>[  194.664003] list_add corruption. prev->next should be next (ffffffff9da75c60), but was ffff99bbd1d94790. (prev=ffff99bbe24ac998).
<4>[  194.664003]  <TASK>
<4>[  194.664007]  dump_stack_lvl+0x6e/0x90
<4>[  194.664011] ------------[ cut here ]------------
<4>[  194.664011]  pm_runtime_enable.cold+0x28/0x48
<2>[  194.664011] kernel BUG at lib/list_debug.c:32!
<4>[  194.664013]  device_resume+0x47/0x200
<4>[  194.664016] Oops: invalid opcode: 0000 [#1] SMP
<4>[  194.664017]  async_resume+0x1d/0x30
<4>[  194.664018] CPU: 2 UID: 0 PID: 2505 Comm: amd_s2idle.py Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
<4>[  194.664019]  async_run_entry_fn+0x2e/0x130
<4>[  194.664020] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  194.664021] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
<4>[  194.664022]  process_one_work+0x22b/0x5b0
<4>[  194.664024] Code: e4 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 49 57 c6 ff 48 8b 34 24 48 c7 c7 70 d1 64 9d 48 8b 16 48 89 f1 48 89 de e8 00 e4 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
Oops#1 Part5
<4>[  194.664025] RSP: 0018:ffffc09a45dafb20 EFLAGS: 00010246
<4>[  194.664026]  worker_thread+0x1da/0x3d0
<4>[  194.664027] RAX: 0000000000000075 RBX: ffffffff9da75c60 RCX: 0000000000000027
<4>[  194.664028] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff99becd11de40
<4>[  194.664029] RBP: ffffffff9da74c00 R08: 0000000000000000 R09: 0000000000000000
<4>[  194.664029] R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000010
<4>[  194.664029]  ? bh_worker+0x260/0x260
<4>[  194.664030] R13: 0000002990e47f3d R14: ffff99bbe24ac998 R15: ffff99bbe0b67620
<4>[  194.664031] FS:  00007fe534bfc080(0000) GS:ffff99bf2ee50000(0000) knlGS:0000000000000000
<4>[  194.664031]  kthread+0x10a/0x250
<4>[  194.664032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4>[  194.664033] CR2: 000055fdfaf910b8 CR3: 000000010d4a9000 CR4: 0000000000f50ef0
<4>[  194.664034]  ? kthreads_online_cpu+0x130/0x130
<4>[  194.664034] PKRU: 55555554
<4>[  194.664035] Call Trace:
<4>[  194.664036]  <TASK>
<4>[  194.664036]  ret_from_fork+0x31/0x50
<4>[  194.664037]  dpm_resume+0x139/0x350
<4>[  194.664039]  ? kthreads_online_cpu+0x130/0x130
<4>[  194.664041]  dpm_resume_end+0x11/0x20
<4>[  194.664040]  ret_from_fork_asm+0x11/0x20
<4>[  194.664042]  suspend_devices_and_enter+0x18e/0x9f0
<4>[  194.664045]  </TASK>
<4>[  194.664046]  pm_suspend.cold+0x22f/0x28f
<4>[  194.664046] CPU: 4 UID: 0 PID: 115 Comm: kworker/u64:4 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
Oops#1 Part4
<4>[  194.664048]  state_store+0x6c/0xd0
<4>[  194.664049] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  194.664050] Workqueue: async async_run_entry_fn
<4>[  194.664051]  kernfs_fop_write_iter+0x194/0x250
<4>[  194.664052] Call Trace:
<4>[  194.664052]  <TASK>
<4>[  194.664053]  dump_stack_lvl+0x6e/0x90
<4>[  194.664054]  vfs_write+0x2ac/0x550
<4>[  194.664055]  pm_runtime_enable.cold+0x28/0x48
<4>[  194.664057]  device_resume+0x47/0x200
<4>[  194.664058]  ksys_write+0x71/0xe0
<4>[  194.664060]  async_resume+0x1d/0x30
<4>[  194.664060]  do_syscall_64+0x95/0x1a0
<4>[  194.664062]  async_run_entry_fn+0x2e/0x130
<4>[  194.664062]  ? lockdep_sys_exit+0x1e/0x90
<4>[  194.664064]  process_one_work+0x22b/0x5b0
<4>[  194.664064]  ? trace_hardirqs_on_prepare+0x77/0xa0
<4>[  194.664066]  ? syscall_exit_to_user_mode+0xb1/0x280
<4>[  194.664067]  worker_thread+0x1da/0x3d0
<4>[  194.664068]  ? __mutex_lock+0xdb/0xed0
<4>[  194.664070]  ? __mutex_lock+0xafb/0xed0
<4>[  194.664070]  ? bh_worker+0x260/0x260
<4>[  194.664072]  ? kernfs_fop_llseek+0x35/0xd0
<4>[  194.664072]  kthread+0x10a/0x250
<4>[  194.664073]  ? lock_release+0x1ff/0x2a0
<4>[  194.664074]  ? kthreads_online_cpu+0x130/0x130
<4>[  194.664075]  ? lock_acquire+0x270/0x2d0
<4>[  194.664076]  ret_from_fork+0x31/0x50
<4>[  194.664077]  ? __mutex_unlock_slowpath+0x3c/0x2c0
<4>[  194.664078]  ? kthreads_online_cpu+0x130/0x130
<4>[  194.664079]  ? kernfs_fop_llseek+0x77/0xd0
<4>[  194.664079]  ret_from_fork_asm+0x11/0x20
<4>[  194.664081]  ? lockdep_sys_exit+0x1e/0x90
<4>[  194.664082]  ? trace_hardirqs_on_prepare+0x77/0xa0
Oops#1 Part3
<4>[  194.664084]  </TASK>
<4>[  194.664084]  ? syscall_exit_to_user_mode+0xb1/0x280
<4>[  194.664086]  ? do_syscall_64+0xa1/0x1a0
<4>[  194.664086] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
<4>[  194.664087]  ? do_syscall_64+0xa1/0x1a0
<4>[  194.664088]  ? do_syscall_64+0xa1/0x1a0
<4>[  194.664090]  ? switch_fpu_return+0xce/0x100
<4>[  194.664092]  ? lockdep_sys_exit+0x1e/0x90
<4>[  194.664093]  ? trace_hardirqs_on_prepare+0x77/0xa0
<4>[  194.664095]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
<4>[  194.664096] RIP: 0033:0x7fe534d010d0
<4>[  194.664098] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
<4>[  194.664099] RSP: 002b:00007ffeea167ab8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
<4>[  194.664101] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007fe534d010d0
<4>[  194.664101] RDX: 0000000000000003 RSI: 000000002689f620 RDI: 0000000000000004
<4>[  194.664102] RBP: 00007fe534bfbfe8 R08: 0000000000000000 R09: 0000000000000002
<4>[  194.664103] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
<4>[  194.664103] R13: 0000000000000004 R14: 000000002689f620 R15: 0000000000a4bb48
<4>[  194.664107]  </TASK>
<4>[  194.664107] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user
<4>[  194.664113] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
<4>[  194.664114]  xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay
Oops#1 Part2
<4>[  194.664120] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
<4>[  194.664120]  qrtr rfcomm cmac algif_hash algif_skcipher
<4>[  194.664122] CPU: 7 UID: 0 PID: 2536 Comm: kworker/u64:38 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
<4>[  194.664123]  af_alg bnep binfmt_misc
<4>[  194.664124] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  194.664125]  nls_ascii nls_cp437 vfat fat
<4>[  194.664126] Workqueue: async async_run_entry_fn
<4>[  194.664127]  snd_acp3x_pdm_dma snd_soc_dmic
<4>[  194.664128]
<4>[  194.664128]  snd_acp3x_rn
<4>[  194.664129] Call Trace:
<4>[  194.664129]  snd_sof_amd_rembrandt snd_sof_amd_acp
<4>[  194.664130]  <TASK>
<4>[  194.664130]  snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led
<4>[  194.664132]  dump_stack_lvl+0x6e/0x90
<4>[  194.664133]  iwlmvm snd_soc_core snd_hda_codec_realtek snd_hda_codec_generic
<4>[  194.664135]  pm_runtime_enable.cold+0x28/0x48
<4>[  194.664135]  snd_compress
<4>[  194.664136]  snd_pci_ps snd_hda_scodec_component mac80211 snd_hda_codec_hdmi
<4>[  194.664137]  device_resume+0x47/0x200
<4>[  194.664138]  snd_soc_acpi_amd_match uvcvideo snd_rpl_pci_acp6x snd_hda_intel videobuf2_vmalloc
<4>[  194.664140]  async_resume+0x1d/0x30
<4>[  194.664141]  snd_acp_pci
<4>[  194.664141]  btusb snd_intel_dspcfg videobuf2_memops
<4>[  194.664142]  async_run_entry_fn+0x2e/0x130
<4>[  194.664143]  snd_amd_acpi_mach snd_hda_codec intel_rapl_msr btrtl snd_acp_legacy_common
<4>[  194.664145]  process_one_work+0x22b/0x5b0
<4>[  194.664146]  uvc libarc4 intel_rapl_common btintel snd_pci_acp6x snd_hwdep videobuf2_v4l2
Oops#1 Part1
<4>[  194.664148]  worker_thread+0x1da/0x3d0
<4>[  194.664149]  btbcm snd_pci_acp5x snd_hda_core kvm_amd videodev
<4>[  194.664151]  ? bh_worker+0x260/0x260
<4>[  194.664152]  btmtk hp_wmi snd_rn_pci_acp3x
<4>[  194.664153]  kthread+0x10a/0x250
<4>[  194.664154]  snd_pcm iwlwifi ucsi_acpi kvm
<4>[  194.664155]  ? kthreads_online_cpu+0x130/0x130
<4>[  194.664157]  videobuf2_common platform_profile ee1004
<4>[  194.664158]  ret_from_fork+0x31/0x50
<4>[  194.664158]  bluetooth snd_acp_config snd_timer
<4>[  194.664160]  ? kthreads_online_cpu+0x130/0x130
<4>[  194.664160]  typec_ucsi sparse_keymap mc sg
<4>[  194.664162]  ret_from_fork_asm+0x11/0x20
<4>[  194.664163]  cfg80211 sp5100_tco snd_soc_acpi snd rapl roles wmi_bmof pcspkr
<4>[  194.664167]  </TASK>
<4>[  194.664167]  rfkill
<4>[  194.664167]  watchdog ccp k10temp soundcore snd_pci_acp3x typec ac battery amd_pmc joydev acpi_tad serio_raw evdev msr parport_pc dm_mod ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_generic btrfs blake2b_generic xor raid6_pq sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch drm_kms_helper hid_generic nvme xhci_pci xhci_hcd cec nvme_core i2c_hid_acpi ghash_clmulni_intel usbcore rc_core nvme_keyring i2c_hid i2c_piix4 amd_sfh video sha512_ssse3 usb_common crc16 nvme_auth i2c_smbus drm fan button hid wmi aesni_intel crypto_simd cryptd
<4>[  194.664209] ---[ end trace 0000000000000000 ]---

Another crash log from latest git (without Mario's fix):

<6>[  144.858062] PM: suspend entry (s2idle)
<6>[  145.062853] Filesystems sync: 0.204 seconds
<6>[  145.064633] Freezing user space processes
<6>[  145.066592] Freezing user space processes completed (elapsed 0.001 seconds)
<6>[  145.066598] OOM killer disabled.
<6>[  145.066600] Freezing remaining freezable tasks
<6>[  145.067783] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
<6>[  145.067787] printk: Suspending console(s) (use no_console_suspend to debug)
<7>[  145.333423] PM: suspend of devices aborted after 0.905 msecs
<7>[  145.333431] PM: start suspend of devices aborted after 265.772 msecs
<3>[  145.333434] PM: Some devices failed to suspend, or early wake event detected
<4>[  145.333608] i2c i2c-3: Unbalanced pm_runtime_enable!
<4>[  145.333633] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
<4>[  145.333639] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
<4>[  145.333643] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  145.333645] Workqueue: async async_run_entry_fn
<4>[  145.333650] Call Trace:
<4>[  145.333651] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
Oops#1 Part7
<4>[  145.333652]  <TASK>
<4>[  145.333654]  dump_stack_lvl+0x6e/0x90
<4>[  145.333659]  pm_runtime_enable.cold+0x14/0x48
<4>[  145.333662]  device_resume+0xd9/0x570
<4>[  145.333665]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
<4>[  145.333668]  ? device_resume+0x570/0x570
<4>[  145.333670]  async_resume+0x1d/0x30
<4>[  145.333672]  async_run_entry_fn+0x97/0x4f0
<4>[  145.333674]  process_one_work+0x849/0x1450
<4>[  145.333678]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
<4>[  145.333681]  ? assign_work+0x168/0x240
<4>[  145.333683]  worker_thread+0x5f3/0xfd0
<4>[  145.333688]  ? process_one_work+0x1450/0x1450
<4>[  145.333691]  kthread+0x3a2/0x760
<4>[  145.333694]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333697]  ? ret_from_fork+0x23/0x480
<4>[  145.333701]  ? lock_release+0xd1/0x2a0
<4>[  145.333704]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333707]  ret_from_fork+0x387/0x480
<4>[  145.333709]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333711]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333714]  ret_from_fork_asm+0x11/0x20
<4>[  145.333720]  </TASK>
<4>[  145.333722] CPU: 10 UID: 0 PID: 2387 Comm: kworker/u64:28 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
<4>[  145.333727] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  145.333729] Workqueue: async async_run_entry_fn
<4>[  145.333734] Call Trace:
<4>[  145.333735]  <TASK>
<4>[  145.333738]  dump_stack_lvl+0x6e/0x90
<4>[  145.333743]  pm_runtime_enable.cold+0x14/0x48
<4>[  145.333747]  device_resume+0xd9/0x570
<4>[  145.333751]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
<4>[  145.333756]  ? device_resume+0x570/0x570
Oops#1 Part6
<4>[  145.333759]  async_resume+0x1d/0x30
<4>[  145.333763]  async_run_entry_fn+0x97/0x4f0
<4>[  145.333768]  process_one_work+0x849/0x1450
<4>[  145.333775]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
<4>[  145.333780]  ? assign_work+0x168/0x240
<4>[  145.333784]  worker_thread+0x5f3/0xfd0
<4>[  145.333790]  ? process_one_work+0x1450/0x1450
<4>[  145.333793] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
<4>[  145.333793] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
<4>[  145.333793]  kthread+0x3a2/0x760
<4>[  145.333797]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333801]  ? ret_from_fork+0x23/0x480
<4>[  145.333805]  ? lock_release+0xd1/0x2a0
<4>[  145.333808]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333809] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
<4>[  145.333813]  ret_from_fork+0x387/0x480
<4>[  145.333817]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333820]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333824]  ret_from_fork_asm+0x11/0x20
<4>[  145.333830]  </TASK>
<4>[  145.333836] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
<4>[  145.333840] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  145.333843] Workqueue: async async_run_entry_fn
<4>[  145.333849] Call Trace:
<4>[  145.333851]  <TASK>
<4>[  145.333854]  dump_stack_lvl+0x6e/0x90
<4>[  145.333858]  pm_runtime_enable.cold+0x14/0x48
<4>[  145.333862]  device_resume+0xd9/0x570
<4>[  145.333864]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
<4>[  145.333868]  ? device_resume+0x570/0x570
<4>[  145.333870]  async_resume+0x1d/0x30
<4>[  145.333872]  async_run_entry_fn+0x97/0x4f0
Oops#1 Part5
<4>[  145.333875]  process_one_work+0x849/0x1450
<4>[  145.333879]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
<4>[  145.333882]  ? assign_work+0x168/0x240
<4>[  145.333885]  worker_thread+0x5f3/0xfd0
<4>[  145.333888]  ? process_one_work+0x1450/0x1450
<4>[  145.333889]  kthread+0x3a2/0x760
<4>[  145.333892]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333892]  slab kmalloc-2k
<4>[  145.333894]  ? ret_from_fork+0x23/0x480
<4>[  145.333897]  ? lock_release+0xd1/0x2a0
<4>[  145.333900]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333902]  ret_from_fork+0x387/0x480
<4>[  145.333902]  start ffff888123152000
<4>[  145.333905]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333904]  pointer offset 408 size 2048
<4>[  145.333908]  ? kthread_is_per_cpu+0xc0/0xc0
<4>[  145.333908]
<3>[  145.333910] list_add corruption. prev->next should be next (ffffffff98f75ce0), but was ffff888137fc8790. (prev=ffff888123152198).
<4>[  145.333910]  ret_from_fork_asm+0x11/0x20
<4>[  145.333914]  </TASK>
<4>[  145.333924] ------------[ cut here ]------------
<2>[  145.333925] kernel BUG at lib/list_debug.c:32!
<4>[  145.333931] Oops: invalid opcode: 0000 [#1] SMP KASAN
<4>[  145.333934] CPU: 2 UID: 0 PID: 2403 Comm: amd_s2idle.py Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
<4>[  145.333937] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  145.333938] RIP: 0010:__list_add_valid_or_report+0xf5/0x130
<4>[  145.333942] Code: 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 75 3c 49 8b 55 00 4c 89 e9 48 89 de 48 c7 c7 40 a9 0a 98 e8 eb b7 c1 fe <0f> 0b 4c 89 e7 e8 91 17 7d ff e9 40 ff ff ff 4c 89 ef e8 84 17 7d
Oops#1 Part4
<4>[  145.333944] RSP: 0018:ffff888130a87788 EFLAGS: 00010282
<4>[  145.333946] RAX: 0000000000000075 RBX: ffffffff98f75ce0 RCX: 0000000000000000
<4>[  145.333948] RDX: 0000000000000075 RSI: 0000000000000004 RDI: ffffed1026150ee3
<4>[  145.333949] RBP: ffffffff98f714f8 R08: 0000000000000001 R09: ffffed107a1a5c31
<4>[  145.333950] R10: ffff8883d0d2e18b R11: 0000000000000000 R12: ffffffff98f75ce8
<4>[  145.333951] R13: ffff888123152198 R14: ffff888123152198 R15: ffff888130a877e8
<4>[  145.333953] FS:  00007f7272279080(0000) GS:ffff888437132000(0000) knlGS:0000000000000000
<4>[  145.333954] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4>[  145.333956] CR2: 00007f7271dcfed0 CR3: 000000011eb2f000 CR4: 0000000000f50ef0
<4>[  145.333957] PKRU: 55555554
<4>[  145.333958] Call Trace:
<4>[  145.333960]  <TASK>
<4>[  145.333961]  dpm_resume+0x2b9/0x760
<4>[  145.333964]  ? dpm_resume_start+0x30/0x30
<4>[  145.333967]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
<4>[  145.333969]  ? ktime_get+0x32/0x150
<4>[  145.333971]  dpm_resume_end+0x11/0x20
<4>[  145.333974]  suspend_devices_and_enter+0x349/0x12f0
<4>[  145.333978]  ? arch_suspend_enable_irqs+0x20/0x20
<4>[  145.333981]  ? dpm_save_failed_dev.cold+0x36/0x36
<4>[  145.333984]  ? up_write+0x1a7/0x4e0
<4>[  145.333987]  pm_suspend.cold+0x3f9/0x466
<4>[  145.333989]  state_store+0xa3/0x150
<4>[  145.333992]  ? sysfs_file_ops+0x110/0x110
<4>[  145.333994]  kernfs_fop_write_iter+0x407/0x630
<4>[  145.333997]  vfs_write+0x514/0xf60
<4>[  145.334000]  ? kernel_write+0x5f0/0x5f0
Oops#1 Part3
<4>[  145.334003]  ? ptep_set_access_flags+0xea/0x120
<4>[  145.334005]  ? lruvec_init+0x1e0/0x1e0
<4>[  145.334008]  ? pgd_free+0x4b0/0x4b0
<4>[  145.334011]  ksys_write+0xf9/0x1c0
<4>[  145.334013]  ? __ia32_sys_read+0xb0/0xb0
<4>[  145.334015]  ? wp_page_reuse+0x160/0x1e0
<4>[  145.334017]  ? do_wp_page+0x14b9/0x2e70
<4>[  145.334020]  do_syscall_64+0x97/0x3d0
<4>[  145.334023]  ? lock_acquire+0x291/0x2e0
<4>[  145.334024]  ? __vmf_anon_prepare+0x1e0/0x1e0
<4>[  145.334026]  ? lock_release+0x1ff/0x2a0
<4>[  145.334028]  ? do_raw_spin_lock+0x12d/0x260
<4>[  145.334030]  ? __rwlock_init+0x150/0x150
<4>[  145.334032]  ? set_p4d+0xb0/0xb0
<4>[  145.334034]  ? __handle_mm_fault+0x147d/0x2010
<4>[  145.334037]  ? __mutex_lock+0x12a1/0x19f0
<4>[  145.334040]  ? copy_page_range+0x4190/0x4190
<4>[  145.334042]  ? lock_acquire+0x291/0x2e0
<4>[  145.334044]  ? lock_release+0x1ff/0x2a0
<4>[  145.334047]  ? __count_memcg_events+0x399/0x4c0
<4>[  145.334049]  ? do_syscall_64+0x155/0x3d0
<4>[  145.334051]  ? lock_release+0x1ff/0x2a0
<4>[  145.334052]  ? count_memcg_events.constprop.0+0x4a/0x60
<4>[  145.334055]  ? handle_mm_fault+0x3d8/0x7d0
<4>[  145.334057]  ? lock_release+0x1ff/0x2a0
<4>[  145.334059]  ? do_user_addr_fault+0x4a3/0xa00
<4>[  145.334061]  ? irqentry_exit_to_user_mode+0x8d/0x270
<4>[  145.334064]  ? trace_hardirqs_on_prepare+0xd7/0x110
<4>[  145.334067]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
<4>[  145.334069] RIP: 0033:0x7f727237e0d0
<4>[  145.334071] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
Oops#1 Part2
<4>[  145.334073] RSP: 002b:00007fff9a1353b8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
<4>[  145.334075] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f727237e0d0
<4>[  145.334076] RDX: 0000000000000003 RSI: 0000000026d40370 RDI: 0000000000000004
<4>[  145.334077] RBP: 00007f7272278fe8 R08: 0000000000000000 R09: 0000000000000002
<4>[  145.334078] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
<4>[  145.334079] R13: 0000000000000004 R14: 0000000026d40370 R15: 0000000000a4bb48
<4>[  145.334083]  </TASK>
<4>[  145.334084] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc snd_soc_dmic snd_acp3x_pdm_dma snd_acp3x_rn snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci nls_ascii snd_sof_xtensa_dsp nls_cp437 snd_sof vfat fat snd_sof_utils snd_soc_core snd_ctl_led iwlmvm snd_compress snd_hda_codec_realtek snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match btusb mac80211 snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi uvcvideo btrtl snd_acp_pci intel_rapl_msr videobuf2_vmalloc snd_hda_intel btintel snd_amd_acpi_mach intel_rapl_common videobuf2_memops snd_intel_dspcfg snd_acp_legacy_common snd_hda_codec snd_pci_acp6x btbcm uvc libarc4 snd_pci_acp5x kvm_amd btmtk videobuf2_v4l2 snd_hwdep kvm snd_hda_core snd_rn_pci_acp3x iwlwifi
Oops#1 Part1
<4>[  145.334149]  videodev ucsi_acpi hp_wmi snd_pcm irqbypass bluetooth snd_acp_config platform_profile videobuf2_common typec_ucsi ee1004 snd_soc_acpi mc snd_timer rapl sparse_keymap wmi_bmof sg cfg80211 pcspkr sp5100_tco roles k10temp snd_pci_acp3x snd battery watchdog ccp rfkill typec soundcore ac amd_pmc acpi_tad joydev evdev serio_raw msr parport_pc ppdev lp dm_mod parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi sd_mod btrfs blake2b_generic xor raid6_pq uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch hid_generic drm_kms_helper xhci_pci nvme cec xhci_hcd nvme_core ghash_clmulni_intel i2c_hid_acpi i2c_piix4 video rc_core nvme_keyring usbcore sha512_ssse3 i2c_hid i2c_smbus crc16 nvme_auth usb_common amd_sfh fan hid button wmi drm aesni_intel
<4>[  145.334223] ---[ end trace 0000000000000000 ]---

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-02 12:11   ` Chris Bainbridge
@ 2025-06-02 14:29     ` Rafael J. Wysocki
  2025-06-02 15:21       ` Mario Limonciello
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-02 14:29 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Jon Hunter, Saravana Kannan,
	Mario Limonciello, amd-gfx

On Mon, Jun 2, 2025 at 2:11 PM Chris Bainbridge
<chris.bainbridge@gmail.com> wrote:
>
> On Fri, Mar 14, 2025 at 02:13:53PM +0100, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > In analogy with the previous change affecting the resume path,
> > make device_suspend() start the async suspend of the device's parent
> > after the device itself has been processed and make dpm_suspend() start
> > processing "async" leaf devices (that is, devices without children)
> > upfront so they don't need to wait for the "sync" devices they don't
> > depend on.
> >
> > On the Dell XPS13 9360 in my office, this change reduces the total
> > duration of device suspend by approximately 100 ms (over 20%).
> >
> > Suggested-by: Saravana Kannan <saravanak@google.com>
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> This commit results in memory corruption on suspend/resume with short
> suspend duration.

What do you mean by short?

> Laptop appears to hang and crash is logged to pstore.

Interesting that this is only happening on one system.

Thanks for the report anyway, I'll look at this shortly.

> To reproduce: `amd_s2idle.py --log log --duration 1 --wait 4 --count 30`
>
> I have reproduced this both with and without Mario's recent suspend fix
> https://lore.kernel.org/amd-gfx/20250602014432.3538345-1-superm1@kernel.org/T/#t
>
> Pstore log (with Mario's fix):
>
> <6>[  194.209939] PM: suspend entry (s2idle)
> <6>[  194.409450] Filesystems sync: 0.199 seconds
> <6>[  194.409756] Freezing user space processes
> <6>[  194.411374] Freezing user space processes completed (elapsed 0.001 seconds)
> <6>[  194.411377] OOM killer disabled.
> <6>[  194.411378] Freezing remaining freezable tasks
> <6>[  194.412517] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> <6>[  194.412520] printk: Suspending console(s) (use no_console_suspend to debug)
> <7>[  194.663906] PM: suspend of devices aborted after 0.260 msecs
> <7>[  194.663911] PM: start suspend of devices aborted after 251.365 msecs
> <3>[  194.663913] PM: Some devices failed to suspend, or early wake event detected
> <4>[  194.663975] i2c i2c-3: Unbalanced pm_runtime_enable!
> <4>[  194.663989] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
> Oops#1 Part6
> <4>[  194.663991] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
> <4>[  194.663992] CPU: 5 UID: 0 PID: 121 Comm: kworker/u64:10 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> <4>[  194.663994] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  194.663996] Workqueue: async async_run_entry_fn
> <4>[  194.663998]  slab kmalloc-2k
> <4>[  194.664000]
> <4>[  194.664000]  start ffff99bbe24ac800 pointer offset 408
> <4>[  194.664001] Call Trace:
> <4>[  194.664002]  size 2048
> <3>[  194.664003] list_add corruption. prev->next should be next (ffffffff9da75c60), but was ffff99bbd1d94790. (prev=ffff99bbe24ac998).
> <4>[  194.664003]  <TASK>
> <4>[  194.664007]  dump_stack_lvl+0x6e/0x90
> <4>[  194.664011] ------------[ cut here ]------------
> <4>[  194.664011]  pm_runtime_enable.cold+0x28/0x48
> <2>[  194.664011] kernel BUG at lib/list_debug.c:32!
> <4>[  194.664013]  device_resume+0x47/0x200
> <4>[  194.664016] Oops: invalid opcode: 0000 [#1] SMP
> <4>[  194.664017]  async_resume+0x1d/0x30
> <4>[  194.664018] CPU: 2 UID: 0 PID: 2505 Comm: amd_s2idle.py Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> <4>[  194.664019]  async_run_entry_fn+0x2e/0x130
> <4>[  194.664020] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  194.664021] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
> <4>[  194.664022]  process_one_work+0x22b/0x5b0
> <4>[  194.664024] Code: e4 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 49 57 c6 ff 48 8b 34 24 48 c7 c7 70 d1 64 9d 48 8b 16 48 89 f1 48 89 de e8 00 e4 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
> Oops#1 Part5
> <4>[  194.664025] RSP: 0018:ffffc09a45dafb20 EFLAGS: 00010246
> <4>[  194.664026]  worker_thread+0x1da/0x3d0
> <4>[  194.664027] RAX: 0000000000000075 RBX: ffffffff9da75c60 RCX: 0000000000000027
> <4>[  194.664028] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff99becd11de40
> <4>[  194.664029] RBP: ffffffff9da74c00 R08: 0000000000000000 R09: 0000000000000000
> <4>[  194.664029] R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000010
> <4>[  194.664029]  ? bh_worker+0x260/0x260
> <4>[  194.664030] R13: 0000002990e47f3d R14: ffff99bbe24ac998 R15: ffff99bbe0b67620
> <4>[  194.664031] FS:  00007fe534bfc080(0000) GS:ffff99bf2ee50000(0000) knlGS:0000000000000000
> <4>[  194.664031]  kthread+0x10a/0x250
> <4>[  194.664032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4>[  194.664033] CR2: 000055fdfaf910b8 CR3: 000000010d4a9000 CR4: 0000000000f50ef0
> <4>[  194.664034]  ? kthreads_online_cpu+0x130/0x130
> <4>[  194.664034] PKRU: 55555554
> <4>[  194.664035] Call Trace:
> <4>[  194.664036]  <TASK>
> <4>[  194.664036]  ret_from_fork+0x31/0x50
> <4>[  194.664037]  dpm_resume+0x139/0x350
> <4>[  194.664039]  ? kthreads_online_cpu+0x130/0x130
> <4>[  194.664041]  dpm_resume_end+0x11/0x20
> <4>[  194.664040]  ret_from_fork_asm+0x11/0x20
> <4>[  194.664042]  suspend_devices_and_enter+0x18e/0x9f0
> <4>[  194.664045]  </TASK>
> <4>[  194.664046]  pm_suspend.cold+0x22f/0x28f
> <4>[  194.664046] CPU: 4 UID: 0 PID: 115 Comm: kworker/u64:4 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> Oops#1 Part4
> <4>[  194.664048]  state_store+0x6c/0xd0
> <4>[  194.664049] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  194.664050] Workqueue: async async_run_entry_fn
> <4>[  194.664051]  kernfs_fop_write_iter+0x194/0x250
> <4>[  194.664052] Call Trace:
> <4>[  194.664052]  <TASK>
> <4>[  194.664053]  dump_stack_lvl+0x6e/0x90
> <4>[  194.664054]  vfs_write+0x2ac/0x550
> <4>[  194.664055]  pm_runtime_enable.cold+0x28/0x48
> <4>[  194.664057]  device_resume+0x47/0x200
> <4>[  194.664058]  ksys_write+0x71/0xe0
> <4>[  194.664060]  async_resume+0x1d/0x30
> <4>[  194.664060]  do_syscall_64+0x95/0x1a0
> <4>[  194.664062]  async_run_entry_fn+0x2e/0x130
> <4>[  194.664062]  ? lockdep_sys_exit+0x1e/0x90
> <4>[  194.664064]  process_one_work+0x22b/0x5b0
> <4>[  194.664064]  ? trace_hardirqs_on_prepare+0x77/0xa0
> <4>[  194.664066]  ? syscall_exit_to_user_mode+0xb1/0x280
> <4>[  194.664067]  worker_thread+0x1da/0x3d0
> <4>[  194.664068]  ? __mutex_lock+0xdb/0xed0
> <4>[  194.664070]  ? __mutex_lock+0xafb/0xed0
> <4>[  194.664070]  ? bh_worker+0x260/0x260
> <4>[  194.664072]  ? kernfs_fop_llseek+0x35/0xd0
> <4>[  194.664072]  kthread+0x10a/0x250
> <4>[  194.664073]  ? lock_release+0x1ff/0x2a0
> <4>[  194.664074]  ? kthreads_online_cpu+0x130/0x130
> <4>[  194.664075]  ? lock_acquire+0x270/0x2d0
> <4>[  194.664076]  ret_from_fork+0x31/0x50
> <4>[  194.664077]  ? __mutex_unlock_slowpath+0x3c/0x2c0
> <4>[  194.664078]  ? kthreads_online_cpu+0x130/0x130
> <4>[  194.664079]  ? kernfs_fop_llseek+0x77/0xd0
> <4>[  194.664079]  ret_from_fork_asm+0x11/0x20
> <4>[  194.664081]  ? lockdep_sys_exit+0x1e/0x90
> <4>[  194.664082]  ? trace_hardirqs_on_prepare+0x77/0xa0
> Oops#1 Part3
> <4>[  194.664084]  </TASK>
> <4>[  194.664084]  ? syscall_exit_to_user_mode+0xb1/0x280
> <4>[  194.664086]  ? do_syscall_64+0xa1/0x1a0
> <4>[  194.664086] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
> <4>[  194.664087]  ? do_syscall_64+0xa1/0x1a0
> <4>[  194.664088]  ? do_syscall_64+0xa1/0x1a0
> <4>[  194.664090]  ? switch_fpu_return+0xce/0x100
> <4>[  194.664092]  ? lockdep_sys_exit+0x1e/0x90
> <4>[  194.664093]  ? trace_hardirqs_on_prepare+0x77/0xa0
> <4>[  194.664095]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> <4>[  194.664096] RIP: 0033:0x7fe534d010d0
> <4>[  194.664098] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
> <4>[  194.664099] RSP: 002b:00007ffeea167ab8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> <4>[  194.664101] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007fe534d010d0
> <4>[  194.664101] RDX: 0000000000000003 RSI: 000000002689f620 RDI: 0000000000000004
> <4>[  194.664102] RBP: 00007fe534bfbfe8 R08: 0000000000000000 R09: 0000000000000002
> <4>[  194.664103] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
> <4>[  194.664103] R13: 0000000000000004 R14: 000000002689f620 R15: 0000000000a4bb48
> <4>[  194.664107]  </TASK>
> <4>[  194.664107] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user
> <4>[  194.664113] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
> <4>[  194.664114]  xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay
> Oops#1 Part2
> <4>[  194.664120] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
> <4>[  194.664120]  qrtr rfcomm cmac algif_hash algif_skcipher
> <4>[  194.664122] CPU: 7 UID: 0 PID: 2536 Comm: kworker/u64:38 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> <4>[  194.664123]  af_alg bnep binfmt_misc
> <4>[  194.664124] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  194.664125]  nls_ascii nls_cp437 vfat fat
> <4>[  194.664126] Workqueue: async async_run_entry_fn
> <4>[  194.664127]  snd_acp3x_pdm_dma snd_soc_dmic
> <4>[  194.664128]
> <4>[  194.664128]  snd_acp3x_rn
> <4>[  194.664129] Call Trace:
> <4>[  194.664129]  snd_sof_amd_rembrandt snd_sof_amd_acp
> <4>[  194.664130]  <TASK>
> <4>[  194.664130]  snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led
> <4>[  194.664132]  dump_stack_lvl+0x6e/0x90
> <4>[  194.664133]  iwlmvm snd_soc_core snd_hda_codec_realtek snd_hda_codec_generic
> <4>[  194.664135]  pm_runtime_enable.cold+0x28/0x48
> <4>[  194.664135]  snd_compress
> <4>[  194.664136]  snd_pci_ps snd_hda_scodec_component mac80211 snd_hda_codec_hdmi
> <4>[  194.664137]  device_resume+0x47/0x200
> <4>[  194.664138]  snd_soc_acpi_amd_match uvcvideo snd_rpl_pci_acp6x snd_hda_intel videobuf2_vmalloc
> <4>[  194.664140]  async_resume+0x1d/0x30
> <4>[  194.664141]  snd_acp_pci
> <4>[  194.664141]  btusb snd_intel_dspcfg videobuf2_memops
> <4>[  194.664142]  async_run_entry_fn+0x2e/0x130
> <4>[  194.664143]  snd_amd_acpi_mach snd_hda_codec intel_rapl_msr btrtl snd_acp_legacy_common
> <4>[  194.664145]  process_one_work+0x22b/0x5b0
> <4>[  194.664146]  uvc libarc4 intel_rapl_common btintel snd_pci_acp6x snd_hwdep videobuf2_v4l2
> Oops#1 Part1
> <4>[  194.664148]  worker_thread+0x1da/0x3d0
> <4>[  194.664149]  btbcm snd_pci_acp5x snd_hda_core kvm_amd videodev
> <4>[  194.664151]  ? bh_worker+0x260/0x260
> <4>[  194.664152]  btmtk hp_wmi snd_rn_pci_acp3x
> <4>[  194.664153]  kthread+0x10a/0x250
> <4>[  194.664154]  snd_pcm iwlwifi ucsi_acpi kvm
> <4>[  194.664155]  ? kthreads_online_cpu+0x130/0x130
> <4>[  194.664157]  videobuf2_common platform_profile ee1004
> <4>[  194.664158]  ret_from_fork+0x31/0x50
> <4>[  194.664158]  bluetooth snd_acp_config snd_timer
> <4>[  194.664160]  ? kthreads_online_cpu+0x130/0x130
> <4>[  194.664160]  typec_ucsi sparse_keymap mc sg
> <4>[  194.664162]  ret_from_fork_asm+0x11/0x20
> <4>[  194.664163]  cfg80211 sp5100_tco snd_soc_acpi snd rapl roles wmi_bmof pcspkr
> <4>[  194.664167]  </TASK>
> <4>[  194.664167]  rfkill
> <4>[  194.664167]  watchdog ccp k10temp soundcore snd_pci_acp3x typec ac battery amd_pmc joydev acpi_tad serio_raw evdev msr parport_pc dm_mod ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_generic btrfs blake2b_generic xor raid6_pq sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch drm_kms_helper hid_generic nvme xhci_pci xhci_hcd cec nvme_core i2c_hid_acpi ghash_clmulni_intel usbcore rc_core nvme_keyring i2c_hid i2c_piix4 amd_sfh video sha512_ssse3 usb_common crc16 nvme_auth i2c_smbus drm fan button hid wmi aesni_intel crypto_simd cryptd
> <4>[  194.664209] ---[ end trace 0000000000000000 ]---
>
> Another crash log from latest git (without Mario's fix):
>
> <6>[  144.858062] PM: suspend entry (s2idle)
> <6>[  145.062853] Filesystems sync: 0.204 seconds
> <6>[  145.064633] Freezing user space processes
> <6>[  145.066592] Freezing user space processes completed (elapsed 0.001 seconds)
> <6>[  145.066598] OOM killer disabled.
> <6>[  145.066600] Freezing remaining freezable tasks
> <6>[  145.067783] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> <6>[  145.067787] printk: Suspending console(s) (use no_console_suspend to debug)
> <7>[  145.333423] PM: suspend of devices aborted after 0.905 msecs
> <7>[  145.333431] PM: start suspend of devices aborted after 265.772 msecs
> <3>[  145.333434] PM: Some devices failed to suspend, or early wake event detected
> <4>[  145.333608] i2c i2c-3: Unbalanced pm_runtime_enable!
> <4>[  145.333633] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
> <4>[  145.333639] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> <4>[  145.333643] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  145.333645] Workqueue: async async_run_entry_fn
> <4>[  145.333650] Call Trace:
> <4>[  145.333651] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
> Oops#1 Part7
> <4>[  145.333652]  <TASK>
> <4>[  145.333654]  dump_stack_lvl+0x6e/0x90
> <4>[  145.333659]  pm_runtime_enable.cold+0x14/0x48
> <4>[  145.333662]  device_resume+0xd9/0x570
> <4>[  145.333665]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> <4>[  145.333668]  ? device_resume+0x570/0x570
> <4>[  145.333670]  async_resume+0x1d/0x30
> <4>[  145.333672]  async_run_entry_fn+0x97/0x4f0
> <4>[  145.333674]  process_one_work+0x849/0x1450
> <4>[  145.333678]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
> <4>[  145.333681]  ? assign_work+0x168/0x240
> <4>[  145.333683]  worker_thread+0x5f3/0xfd0
> <4>[  145.333688]  ? process_one_work+0x1450/0x1450
> <4>[  145.333691]  kthread+0x3a2/0x760
> <4>[  145.333694]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333697]  ? ret_from_fork+0x23/0x480
> <4>[  145.333701]  ? lock_release+0xd1/0x2a0
> <4>[  145.333704]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333707]  ret_from_fork+0x387/0x480
> <4>[  145.333709]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333711]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333714]  ret_from_fork_asm+0x11/0x20
> <4>[  145.333720]  </TASK>
> <4>[  145.333722] CPU: 10 UID: 0 PID: 2387 Comm: kworker/u64:28 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> <4>[  145.333727] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  145.333729] Workqueue: async async_run_entry_fn
> <4>[  145.333734] Call Trace:
> <4>[  145.333735]  <TASK>
> <4>[  145.333738]  dump_stack_lvl+0x6e/0x90
> <4>[  145.333743]  pm_runtime_enable.cold+0x14/0x48
> <4>[  145.333747]  device_resume+0xd9/0x570
> <4>[  145.333751]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> <4>[  145.333756]  ? device_resume+0x570/0x570
> Oops#1 Part6
> <4>[  145.333759]  async_resume+0x1d/0x30
> <4>[  145.333763]  async_run_entry_fn+0x97/0x4f0
> <4>[  145.333768]  process_one_work+0x849/0x1450
> <4>[  145.333775]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
> <4>[  145.333780]  ? assign_work+0x168/0x240
> <4>[  145.333784]  worker_thread+0x5f3/0xfd0
> <4>[  145.333790]  ? process_one_work+0x1450/0x1450
> <4>[  145.333793] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
> <4>[  145.333793] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
> <4>[  145.333793]  kthread+0x3a2/0x760
> <4>[  145.333797]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333801]  ? ret_from_fork+0x23/0x480
> <4>[  145.333805]  ? lock_release+0xd1/0x2a0
> <4>[  145.333808]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333809] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
> <4>[  145.333813]  ret_from_fork+0x387/0x480
> <4>[  145.333817]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333820]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333824]  ret_from_fork_asm+0x11/0x20
> <4>[  145.333830]  </TASK>
> <4>[  145.333836] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> <4>[  145.333840] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  145.333843] Workqueue: async async_run_entry_fn
> <4>[  145.333849] Call Trace:
> <4>[  145.333851]  <TASK>
> <4>[  145.333854]  dump_stack_lvl+0x6e/0x90
> <4>[  145.333858]  pm_runtime_enable.cold+0x14/0x48
> <4>[  145.333862]  device_resume+0xd9/0x570
> <4>[  145.333864]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> <4>[  145.333868]  ? device_resume+0x570/0x570
> <4>[  145.333870]  async_resume+0x1d/0x30
> <4>[  145.333872]  async_run_entry_fn+0x97/0x4f0
> Oops#1 Part5
> <4>[  145.333875]  process_one_work+0x849/0x1450
> <4>[  145.333879]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
> <4>[  145.333882]  ? assign_work+0x168/0x240
> <4>[  145.333885]  worker_thread+0x5f3/0xfd0
> <4>[  145.333888]  ? process_one_work+0x1450/0x1450
> <4>[  145.333889]  kthread+0x3a2/0x760
> <4>[  145.333892]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333892]  slab kmalloc-2k
> <4>[  145.333894]  ? ret_from_fork+0x23/0x480
> <4>[  145.333897]  ? lock_release+0xd1/0x2a0
> <4>[  145.333900]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333902]  ret_from_fork+0x387/0x480
> <4>[  145.333902]  start ffff888123152000
> <4>[  145.333905]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333904]  pointer offset 408 size 2048
> <4>[  145.333908]  ? kthread_is_per_cpu+0xc0/0xc0
> <4>[  145.333908]
> <3>[  145.333910] list_add corruption. prev->next should be next (ffffffff98f75ce0), but was ffff888137fc8790. (prev=ffff888123152198).
> <4>[  145.333910]  ret_from_fork_asm+0x11/0x20
> <4>[  145.333914]  </TASK>
> <4>[  145.333924] ------------[ cut here ]------------
> <2>[  145.333925] kernel BUG at lib/list_debug.c:32!
> <4>[  145.333931] Oops: invalid opcode: 0000 [#1] SMP KASAN
> <4>[  145.333934] CPU: 2 UID: 0 PID: 2403 Comm: amd_s2idle.py Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> <4>[  145.333937] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  145.333938] RIP: 0010:__list_add_valid_or_report+0xf5/0x130
> <4>[  145.333942] Code: 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 75 3c 49 8b 55 00 4c 89 e9 48 89 de 48 c7 c7 40 a9 0a 98 e8 eb b7 c1 fe <0f> 0b 4c 89 e7 e8 91 17 7d ff e9 40 ff ff ff 4c 89 ef e8 84 17 7d
> Oops#1 Part4
> <4>[  145.333944] RSP: 0018:ffff888130a87788 EFLAGS: 00010282
> <4>[  145.333946] RAX: 0000000000000075 RBX: ffffffff98f75ce0 RCX: 0000000000000000
> <4>[  145.333948] RDX: 0000000000000075 RSI: 0000000000000004 RDI: ffffed1026150ee3
> <4>[  145.333949] RBP: ffffffff98f714f8 R08: 0000000000000001 R09: ffffed107a1a5c31
> <4>[  145.333950] R10: ffff8883d0d2e18b R11: 0000000000000000 R12: ffffffff98f75ce8
> <4>[  145.333951] R13: ffff888123152198 R14: ffff888123152198 R15: ffff888130a877e8
> <4>[  145.333953] FS:  00007f7272279080(0000) GS:ffff888437132000(0000) knlGS:0000000000000000
> <4>[  145.333954] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4>[  145.333956] CR2: 00007f7271dcfed0 CR3: 000000011eb2f000 CR4: 0000000000f50ef0
> <4>[  145.333957] PKRU: 55555554
> <4>[  145.333958] Call Trace:
> <4>[  145.333960]  <TASK>
> <4>[  145.333961]  dpm_resume+0x2b9/0x760
> <4>[  145.333964]  ? dpm_resume_start+0x30/0x30
> <4>[  145.333967]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> <4>[  145.333969]  ? ktime_get+0x32/0x150
> <4>[  145.333971]  dpm_resume_end+0x11/0x20
> <4>[  145.333974]  suspend_devices_and_enter+0x349/0x12f0
> <4>[  145.333978]  ? arch_suspend_enable_irqs+0x20/0x20
> <4>[  145.333981]  ? dpm_save_failed_dev.cold+0x36/0x36
> <4>[  145.333984]  ? up_write+0x1a7/0x4e0
> <4>[  145.333987]  pm_suspend.cold+0x3f9/0x466
> <4>[  145.333989]  state_store+0xa3/0x150
> <4>[  145.333992]  ? sysfs_file_ops+0x110/0x110
> <4>[  145.333994]  kernfs_fop_write_iter+0x407/0x630
> <4>[  145.333997]  vfs_write+0x514/0xf60
> <4>[  145.334000]  ? kernel_write+0x5f0/0x5f0
> Oops#1 Part3
> <4>[  145.334003]  ? ptep_set_access_flags+0xea/0x120
> <4>[  145.334005]  ? lruvec_init+0x1e0/0x1e0
> <4>[  145.334008]  ? pgd_free+0x4b0/0x4b0
> <4>[  145.334011]  ksys_write+0xf9/0x1c0
> <4>[  145.334013]  ? __ia32_sys_read+0xb0/0xb0
> <4>[  145.334015]  ? wp_page_reuse+0x160/0x1e0
> <4>[  145.334017]  ? do_wp_page+0x14b9/0x2e70
> <4>[  145.334020]  do_syscall_64+0x97/0x3d0
> <4>[  145.334023]  ? lock_acquire+0x291/0x2e0
> <4>[  145.334024]  ? __vmf_anon_prepare+0x1e0/0x1e0
> <4>[  145.334026]  ? lock_release+0x1ff/0x2a0
> <4>[  145.334028]  ? do_raw_spin_lock+0x12d/0x260
> <4>[  145.334030]  ? __rwlock_init+0x150/0x150
> <4>[  145.334032]  ? set_p4d+0xb0/0xb0
> <4>[  145.334034]  ? __handle_mm_fault+0x147d/0x2010
> <4>[  145.334037]  ? __mutex_lock+0x12a1/0x19f0
> <4>[  145.334040]  ? copy_page_range+0x4190/0x4190
> <4>[  145.334042]  ? lock_acquire+0x291/0x2e0
> <4>[  145.334044]  ? lock_release+0x1ff/0x2a0
> <4>[  145.334047]  ? __count_memcg_events+0x399/0x4c0
> <4>[  145.334049]  ? do_syscall_64+0x155/0x3d0
> <4>[  145.334051]  ? lock_release+0x1ff/0x2a0
> <4>[  145.334052]  ? count_memcg_events.constprop.0+0x4a/0x60
> <4>[  145.334055]  ? handle_mm_fault+0x3d8/0x7d0
> <4>[  145.334057]  ? lock_release+0x1ff/0x2a0
> <4>[  145.334059]  ? do_user_addr_fault+0x4a3/0xa00
> <4>[  145.334061]  ? irqentry_exit_to_user_mode+0x8d/0x270
> <4>[  145.334064]  ? trace_hardirqs_on_prepare+0xd7/0x110
> <4>[  145.334067]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> <4>[  145.334069] RIP: 0033:0x7f727237e0d0
> <4>[  145.334071] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
> Oops#1 Part2
> <4>[  145.334073] RSP: 002b:00007fff9a1353b8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> <4>[  145.334075] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f727237e0d0
> <4>[  145.334076] RDX: 0000000000000003 RSI: 0000000026d40370 RDI: 0000000000000004
> <4>[  145.334077] RBP: 00007f7272278fe8 R08: 0000000000000000 R09: 0000000000000002
> <4>[  145.334078] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
> <4>[  145.334079] R13: 0000000000000004 R14: 0000000026d40370 R15: 0000000000a4bb48
> <4>[  145.334083]  </TASK>
> <4>[  145.334084] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc snd_soc_dmic snd_acp3x_pdm_dma snd_acp3x_rn snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci nls_ascii snd_sof_xtensa_dsp nls_cp437 snd_sof vfat fat snd_sof_utils snd_soc_core snd_ctl_led iwlmvm snd_compress snd_hda_codec_realtek snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match btusb mac80211 snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi uvcvideo btrtl snd_acp_pci intel_rapl_msr videobuf2_vmalloc snd_hda_intel btintel snd_amd_acpi_mach intel_rapl_common videobuf2_memops snd_intel_dspcfg snd_acp_legacy_common snd_hda_codec snd_pci_acp6x btbcm uvc libarc4 snd_pci_acp5x kvm_amd btmtk videobuf2_v4l2 snd_hwdep kvm snd_hda_core snd_rn_pci_acp3x iwlwifi
> Oops#1 Part1
> <4>[  145.334149]  videodev ucsi_acpi hp_wmi snd_pcm irqbypass bluetooth snd_acp_config platform_profile videobuf2_common typec_ucsi ee1004 snd_soc_acpi mc snd_timer rapl sparse_keymap wmi_bmof sg cfg80211 pcspkr sp5100_tco roles k10temp snd_pci_acp3x snd battery watchdog ccp rfkill typec soundcore ac amd_pmc acpi_tad joydev evdev serio_raw msr parport_pc ppdev lp dm_mod parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi sd_mod btrfs blake2b_generic xor raid6_pq uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch hid_generic drm_kms_helper xhci_pci nvme cec xhci_hcd nvme_core ghash_clmulni_intel i2c_hid_acpi i2c_piix4 video rc_core nvme_keyring usbcore sha512_ssse3 i2c_hid i2c_smbus crc16 nvme_auth usb_common amd_sfh fan hid button wmi drm aesni_intel
> <4>[  145.334223] ---[ end trace 0000000000000000 ]---
>

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-02 14:29     ` Rafael J. Wysocki
@ 2025-06-02 15:21       ` Mario Limonciello
  2025-06-02 19:58         ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Mario Limonciello @ 2025-06-02 15:21 UTC (permalink / raw)
  To: Rafael J. Wysocki, Chris Bainbridge
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Jon Hunter, Saravana Kannan,
	amd-gfx

On 6/2/2025 9:29 AM, Rafael J. Wysocki wrote:
> On Mon, Jun 2, 2025 at 2:11 PM Chris Bainbridge
> <chris.bainbridge@gmail.com> wrote:
>>
>> On Fri, Mar 14, 2025 at 02:13:53PM +0100, Rafael J. Wysocki wrote:
>>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>>
>>> In analogy with the previous change affecting the resume path,
>>> make device_suspend() start the async suspend of the device's parent
>>> after the device itself has been processed and make dpm_suspend() start
>>> processing "async" leaf devices (that is, devices without children)
>>> upfront so they don't need to wait for the "sync" devices they don't
>>> depend on.
>>>
>>> On the Dell XPS13 9360 in my office, this change reduces the total
>>> duration of device suspend by approximately 100 ms (over 20%).
>>>
>>> Suggested-by: Saravana Kannan <saravanak@google.com>
>>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>
>> This commit results in memory corruption on suspend/resume with short
>> suspend duration.
> 
> What do you mean by short?

The tool he used will program a timer to wake up the system.
The time he input was programmed for a cycle that was short enough that 
the suspend entry didn't finish and it triggered an aborted suspend.

> 
>> Laptop appears to hang and crash is logged to pstore.
> 
> Interesting that this is only happening on one system.
> 
> Thanks for the report anyway, I'll look at this shortly.
> 
>> To reproduce: `amd_s2idle.py --log log --duration 1 --wait 4 --count 30`
>>
>> I have reproduced this both with and without Mario's recent suspend fix
>> https://lore.kernel.org/amd-gfx/20250602014432.3538345-1-superm1@kernel.org/T/#t
>>
>> Pstore log (with Mario's fix):
>>
>> <6>[  194.209939] PM: suspend entry (s2idle)
>> <6>[  194.409450] Filesystems sync: 0.199 seconds
>> <6>[  194.409756] Freezing user space processes
>> <6>[  194.411374] Freezing user space processes completed (elapsed 0.001 seconds)
>> <6>[  194.411377] OOM killer disabled.
>> <6>[  194.411378] Freezing remaining freezable tasks
>> <6>[  194.412517] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
>> <6>[  194.412520] printk: Suspending console(s) (use no_console_suspend to debug)
>> <7>[  194.663906] PM: suspend of devices aborted after 0.260 msecs
>> <7>[  194.663911] PM: start suspend of devices aborted after 251.365 msecs
>> <3>[  194.663913] PM: Some devices failed to suspend, or early wake event detected
>> <4>[  194.663975] i2c i2c-3: Unbalanced pm_runtime_enable!
>> <4>[  194.663989] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
>> Oops#1 Part6
>> <4>[  194.663991] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
>> <4>[  194.663992] CPU: 5 UID: 0 PID: 121 Comm: kworker/u64:10 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
>> <4>[  194.663994] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  194.663996] Workqueue: async async_run_entry_fn
>> <4>[  194.663998]  slab kmalloc-2k
>> <4>[  194.664000]
>> <4>[  194.664000]  start ffff99bbe24ac800 pointer offset 408
>> <4>[  194.664001] Call Trace:
>> <4>[  194.664002]  size 2048
>> <3>[  194.664003] list_add corruption. prev->next should be next (ffffffff9da75c60), but was ffff99bbd1d94790. (prev=ffff99bbe24ac998).
>> <4>[  194.664003]  <TASK>
>> <4>[  194.664007]  dump_stack_lvl+0x6e/0x90
>> <4>[  194.664011] ------------[ cut here ]------------
>> <4>[  194.664011]  pm_runtime_enable.cold+0x28/0x48
>> <2>[  194.664011] kernel BUG at lib/list_debug.c:32!
>> <4>[  194.664013]  device_resume+0x47/0x200
>> <4>[  194.664016] Oops: invalid opcode: 0000 [#1] SMP
>> <4>[  194.664017]  async_resume+0x1d/0x30
>> <4>[  194.664018] CPU: 2 UID: 0 PID: 2505 Comm: amd_s2idle.py Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
>> <4>[  194.664019]  async_run_entry_fn+0x2e/0x130
>> <4>[  194.664020] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  194.664021] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
>> <4>[  194.664022]  process_one_work+0x22b/0x5b0
>> <4>[  194.664024] Code: e4 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 49 57 c6 ff 48 8b 34 24 48 c7 c7 70 d1 64 9d 48 8b 16 48 89 f1 48 89 de e8 00 e4 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
>> Oops#1 Part5
>> <4>[  194.664025] RSP: 0018:ffffc09a45dafb20 EFLAGS: 00010246
>> <4>[  194.664026]  worker_thread+0x1da/0x3d0
>> <4>[  194.664027] RAX: 0000000000000075 RBX: ffffffff9da75c60 RCX: 0000000000000027
>> <4>[  194.664028] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff99becd11de40
>> <4>[  194.664029] RBP: ffffffff9da74c00 R08: 0000000000000000 R09: 0000000000000000
>> <4>[  194.664029] R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000010
>> <4>[  194.664029]  ? bh_worker+0x260/0x260
>> <4>[  194.664030] R13: 0000002990e47f3d R14: ffff99bbe24ac998 R15: ffff99bbe0b67620
>> <4>[  194.664031] FS:  00007fe534bfc080(0000) GS:ffff99bf2ee50000(0000) knlGS:0000000000000000
>> <4>[  194.664031]  kthread+0x10a/0x250
>> <4>[  194.664032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> <4>[  194.664033] CR2: 000055fdfaf910b8 CR3: 000000010d4a9000 CR4: 0000000000f50ef0
>> <4>[  194.664034]  ? kthreads_online_cpu+0x130/0x130
>> <4>[  194.664034] PKRU: 55555554
>> <4>[  194.664035] Call Trace:
>> <4>[  194.664036]  <TASK>
>> <4>[  194.664036]  ret_from_fork+0x31/0x50
>> <4>[  194.664037]  dpm_resume+0x139/0x350
>> <4>[  194.664039]  ? kthreads_online_cpu+0x130/0x130
>> <4>[  194.664041]  dpm_resume_end+0x11/0x20
>> <4>[  194.664040]  ret_from_fork_asm+0x11/0x20
>> <4>[  194.664042]  suspend_devices_and_enter+0x18e/0x9f0
>> <4>[  194.664045]  </TASK>
>> <4>[  194.664046]  pm_suspend.cold+0x22f/0x28f
>> <4>[  194.664046] CPU: 4 UID: 0 PID: 115 Comm: kworker/u64:4 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
>> Oops#1 Part4
>> <4>[  194.664048]  state_store+0x6c/0xd0
>> <4>[  194.664049] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  194.664050] Workqueue: async async_run_entry_fn
>> <4>[  194.664051]  kernfs_fop_write_iter+0x194/0x250
>> <4>[  194.664052] Call Trace:
>> <4>[  194.664052]  <TASK>
>> <4>[  194.664053]  dump_stack_lvl+0x6e/0x90
>> <4>[  194.664054]  vfs_write+0x2ac/0x550
>> <4>[  194.664055]  pm_runtime_enable.cold+0x28/0x48
>> <4>[  194.664057]  device_resume+0x47/0x200
>> <4>[  194.664058]  ksys_write+0x71/0xe0
>> <4>[  194.664060]  async_resume+0x1d/0x30
>> <4>[  194.664060]  do_syscall_64+0x95/0x1a0
>> <4>[  194.664062]  async_run_entry_fn+0x2e/0x130
>> <4>[  194.664062]  ? lockdep_sys_exit+0x1e/0x90
>> <4>[  194.664064]  process_one_work+0x22b/0x5b0
>> <4>[  194.664064]  ? trace_hardirqs_on_prepare+0x77/0xa0
>> <4>[  194.664066]  ? syscall_exit_to_user_mode+0xb1/0x280
>> <4>[  194.664067]  worker_thread+0x1da/0x3d0
>> <4>[  194.664068]  ? __mutex_lock+0xdb/0xed0
>> <4>[  194.664070]  ? __mutex_lock+0xafb/0xed0
>> <4>[  194.664070]  ? bh_worker+0x260/0x260
>> <4>[  194.664072]  ? kernfs_fop_llseek+0x35/0xd0
>> <4>[  194.664072]  kthread+0x10a/0x250
>> <4>[  194.664073]  ? lock_release+0x1ff/0x2a0
>> <4>[  194.664074]  ? kthreads_online_cpu+0x130/0x130
>> <4>[  194.664075]  ? lock_acquire+0x270/0x2d0
>> <4>[  194.664076]  ret_from_fork+0x31/0x50
>> <4>[  194.664077]  ? __mutex_unlock_slowpath+0x3c/0x2c0
>> <4>[  194.664078]  ? kthreads_online_cpu+0x130/0x130
>> <4>[  194.664079]  ? kernfs_fop_llseek+0x77/0xd0
>> <4>[  194.664079]  ret_from_fork_asm+0x11/0x20
>> <4>[  194.664081]  ? lockdep_sys_exit+0x1e/0x90
>> <4>[  194.664082]  ? trace_hardirqs_on_prepare+0x77/0xa0
>> Oops#1 Part3
>> <4>[  194.664084]  </TASK>
>> <4>[  194.664084]  ? syscall_exit_to_user_mode+0xb1/0x280
>> <4>[  194.664086]  ? do_syscall_64+0xa1/0x1a0
>> <4>[  194.664086] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
>> <4>[  194.664087]  ? do_syscall_64+0xa1/0x1a0
>> <4>[  194.664088]  ? do_syscall_64+0xa1/0x1a0
>> <4>[  194.664090]  ? switch_fpu_return+0xce/0x100
>> <4>[  194.664092]  ? lockdep_sys_exit+0x1e/0x90
>> <4>[  194.664093]  ? trace_hardirqs_on_prepare+0x77/0xa0
>> <4>[  194.664095]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> <4>[  194.664096] RIP: 0033:0x7fe534d010d0
>> <4>[  194.664098] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
>> <4>[  194.664099] RSP: 002b:00007ffeea167ab8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
>> <4>[  194.664101] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007fe534d010d0
>> <4>[  194.664101] RDX: 0000000000000003 RSI: 000000002689f620 RDI: 0000000000000004
>> <4>[  194.664102] RBP: 00007fe534bfbfe8 R08: 0000000000000000 R09: 0000000000000002
>> <4>[  194.664103] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
>> <4>[  194.664103] R13: 0000000000000004 R14: 000000002689f620 R15: 0000000000a4bb48
>> <4>[  194.664107]  </TASK>
>> <4>[  194.664107] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user
>> <4>[  194.664113] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
>> <4>[  194.664114]  xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay
>> Oops#1 Part2
>> <4>[  194.664120] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
>> <4>[  194.664120]  qrtr rfcomm cmac algif_hash algif_skcipher
>> <4>[  194.664122] CPU: 7 UID: 0 PID: 2536 Comm: kworker/u64:38 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
>> <4>[  194.664123]  af_alg bnep binfmt_misc
>> <4>[  194.664124] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  194.664125]  nls_ascii nls_cp437 vfat fat
>> <4>[  194.664126] Workqueue: async async_run_entry_fn
>> <4>[  194.664127]  snd_acp3x_pdm_dma snd_soc_dmic
>> <4>[  194.664128]
>> <4>[  194.664128]  snd_acp3x_rn
>> <4>[  194.664129] Call Trace:
>> <4>[  194.664129]  snd_sof_amd_rembrandt snd_sof_amd_acp
>> <4>[  194.664130]  <TASK>
>> <4>[  194.664130]  snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led
>> <4>[  194.664132]  dump_stack_lvl+0x6e/0x90
>> <4>[  194.664133]  iwlmvm snd_soc_core snd_hda_codec_realtek snd_hda_codec_generic
>> <4>[  194.664135]  pm_runtime_enable.cold+0x28/0x48
>> <4>[  194.664135]  snd_compress
>> <4>[  194.664136]  snd_pci_ps snd_hda_scodec_component mac80211 snd_hda_codec_hdmi
>> <4>[  194.664137]  device_resume+0x47/0x200
>> <4>[  194.664138]  snd_soc_acpi_amd_match uvcvideo snd_rpl_pci_acp6x snd_hda_intel videobuf2_vmalloc
>> <4>[  194.664140]  async_resume+0x1d/0x30
>> <4>[  194.664141]  snd_acp_pci
>> <4>[  194.664141]  btusb snd_intel_dspcfg videobuf2_memops
>> <4>[  194.664142]  async_run_entry_fn+0x2e/0x130
>> <4>[  194.664143]  snd_amd_acpi_mach snd_hda_codec intel_rapl_msr btrtl snd_acp_legacy_common
>> <4>[  194.664145]  process_one_work+0x22b/0x5b0
>> <4>[  194.664146]  uvc libarc4 intel_rapl_common btintel snd_pci_acp6x snd_hwdep videobuf2_v4l2
>> Oops#1 Part1
>> <4>[  194.664148]  worker_thread+0x1da/0x3d0
>> <4>[  194.664149]  btbcm snd_pci_acp5x snd_hda_core kvm_amd videodev
>> <4>[  194.664151]  ? bh_worker+0x260/0x260
>> <4>[  194.664152]  btmtk hp_wmi snd_rn_pci_acp3x
>> <4>[  194.664153]  kthread+0x10a/0x250
>> <4>[  194.664154]  snd_pcm iwlwifi ucsi_acpi kvm
>> <4>[  194.664155]  ? kthreads_online_cpu+0x130/0x130
>> <4>[  194.664157]  videobuf2_common platform_profile ee1004
>> <4>[  194.664158]  ret_from_fork+0x31/0x50
>> <4>[  194.664158]  bluetooth snd_acp_config snd_timer
>> <4>[  194.664160]  ? kthreads_online_cpu+0x130/0x130
>> <4>[  194.664160]  typec_ucsi sparse_keymap mc sg
>> <4>[  194.664162]  ret_from_fork_asm+0x11/0x20
>> <4>[  194.664163]  cfg80211 sp5100_tco snd_soc_acpi snd rapl roles wmi_bmof pcspkr
>> <4>[  194.664167]  </TASK>
>> <4>[  194.664167]  rfkill
>> <4>[  194.664167]  watchdog ccp k10temp soundcore snd_pci_acp3x typec ac battery amd_pmc joydev acpi_tad serio_raw evdev msr parport_pc dm_mod ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_generic btrfs blake2b_generic xor raid6_pq sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch drm_kms_helper hid_generic nvme xhci_pci xhci_hcd cec nvme_core i2c_hid_acpi ghash_clmulni_intel usbcore rc_core nvme_keyring i2c_hid i2c_piix4 amd_sfh video sha512_ssse3 usb_common crc16 nvme_auth i2c_smbus drm fan button hid wmi aesni_intel crypto_simd cryptd
>> <4>[  194.664209] ---[ end trace 0000000000000000 ]---
>>
>> Another crash log from latest git (without Mario's fix):
>>
>> <6>[  144.858062] PM: suspend entry (s2idle)
>> <6>[  145.062853] Filesystems sync: 0.204 seconds
>> <6>[  145.064633] Freezing user space processes
>> <6>[  145.066592] Freezing user space processes completed (elapsed 0.001 seconds)
>> <6>[  145.066598] OOM killer disabled.
>> <6>[  145.066600] Freezing remaining freezable tasks
>> <6>[  145.067783] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
>> <6>[  145.067787] printk: Suspending console(s) (use no_console_suspend to debug)
>> <7>[  145.333423] PM: suspend of devices aborted after 0.905 msecs
>> <7>[  145.333431] PM: start suspend of devices aborted after 265.772 msecs
>> <3>[  145.333434] PM: Some devices failed to suspend, or early wake event detected
>> <4>[  145.333608] i2c i2c-3: Unbalanced pm_runtime_enable!
>> <4>[  145.333633] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
>> <4>[  145.333639] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
>> <4>[  145.333643] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  145.333645] Workqueue: async async_run_entry_fn
>> <4>[  145.333650] Call Trace:
>> <4>[  145.333651] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
>> Oops#1 Part7
>> <4>[  145.333652]  <TASK>
>> <4>[  145.333654]  dump_stack_lvl+0x6e/0x90
>> <4>[  145.333659]  pm_runtime_enable.cold+0x14/0x48
>> <4>[  145.333662]  device_resume+0xd9/0x570
>> <4>[  145.333665]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
>> <4>[  145.333668]  ? device_resume+0x570/0x570
>> <4>[  145.333670]  async_resume+0x1d/0x30
>> <4>[  145.333672]  async_run_entry_fn+0x97/0x4f0
>> <4>[  145.333674]  process_one_work+0x849/0x1450
>> <4>[  145.333678]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
>> <4>[  145.333681]  ? assign_work+0x168/0x240
>> <4>[  145.333683]  worker_thread+0x5f3/0xfd0
>> <4>[  145.333688]  ? process_one_work+0x1450/0x1450
>> <4>[  145.333691]  kthread+0x3a2/0x760
>> <4>[  145.333694]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333697]  ? ret_from_fork+0x23/0x480
>> <4>[  145.333701]  ? lock_release+0xd1/0x2a0
>> <4>[  145.333704]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333707]  ret_from_fork+0x387/0x480
>> <4>[  145.333709]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333711]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333714]  ret_from_fork_asm+0x11/0x20
>> <4>[  145.333720]  </TASK>
>> <4>[  145.333722] CPU: 10 UID: 0 PID: 2387 Comm: kworker/u64:28 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
>> <4>[  145.333727] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  145.333729] Workqueue: async async_run_entry_fn
>> <4>[  145.333734] Call Trace:
>> <4>[  145.333735]  <TASK>
>> <4>[  145.333738]  dump_stack_lvl+0x6e/0x90
>> <4>[  145.333743]  pm_runtime_enable.cold+0x14/0x48
>> <4>[  145.333747]  device_resume+0xd9/0x570
>> <4>[  145.333751]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
>> <4>[  145.333756]  ? device_resume+0x570/0x570
>> Oops#1 Part6
>> <4>[  145.333759]  async_resume+0x1d/0x30
>> <4>[  145.333763]  async_run_entry_fn+0x97/0x4f0
>> <4>[  145.333768]  process_one_work+0x849/0x1450
>> <4>[  145.333775]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
>> <4>[  145.333780]  ? assign_work+0x168/0x240
>> <4>[  145.333784]  worker_thread+0x5f3/0xfd0
>> <4>[  145.333790]  ? process_one_work+0x1450/0x1450
>> <4>[  145.333793] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
>> <4>[  145.333793] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
>> <4>[  145.333793]  kthread+0x3a2/0x760
>> <4>[  145.333797]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333801]  ? ret_from_fork+0x23/0x480
>> <4>[  145.333805]  ? lock_release+0xd1/0x2a0
>> <4>[  145.333808]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333809] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
>> <4>[  145.333813]  ret_from_fork+0x387/0x480
>> <4>[  145.333817]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333820]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333824]  ret_from_fork_asm+0x11/0x20
>> <4>[  145.333830]  </TASK>
>> <4>[  145.333836] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
>> <4>[  145.333840] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  145.333843] Workqueue: async async_run_entry_fn
>> <4>[  145.333849] Call Trace:
>> <4>[  145.333851]  <TASK>
>> <4>[  145.333854]  dump_stack_lvl+0x6e/0x90
>> <4>[  145.333858]  pm_runtime_enable.cold+0x14/0x48
>> <4>[  145.333862]  device_resume+0xd9/0x570
>> <4>[  145.333864]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
>> <4>[  145.333868]  ? device_resume+0x570/0x570
>> <4>[  145.333870]  async_resume+0x1d/0x30
>> <4>[  145.333872]  async_run_entry_fn+0x97/0x4f0
>> Oops#1 Part5
>> <4>[  145.333875]  process_one_work+0x849/0x1450
>> <4>[  145.333879]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
>> <4>[  145.333882]  ? assign_work+0x168/0x240
>> <4>[  145.333885]  worker_thread+0x5f3/0xfd0
>> <4>[  145.333888]  ? process_one_work+0x1450/0x1450
>> <4>[  145.333889]  kthread+0x3a2/0x760
>> <4>[  145.333892]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333892]  slab kmalloc-2k
>> <4>[  145.333894]  ? ret_from_fork+0x23/0x480
>> <4>[  145.333897]  ? lock_release+0xd1/0x2a0
>> <4>[  145.333900]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333902]  ret_from_fork+0x387/0x480
>> <4>[  145.333902]  start ffff888123152000
>> <4>[  145.333905]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333904]  pointer offset 408 size 2048
>> <4>[  145.333908]  ? kthread_is_per_cpu+0xc0/0xc0
>> <4>[  145.333908]
>> <3>[  145.333910] list_add corruption. prev->next should be next (ffffffff98f75ce0), but was ffff888137fc8790. (prev=ffff888123152198).
>> <4>[  145.333910]  ret_from_fork_asm+0x11/0x20
>> <4>[  145.333914]  </TASK>
>> <4>[  145.333924] ------------[ cut here ]------------
>> <2>[  145.333925] kernel BUG at lib/list_debug.c:32!
>> <4>[  145.333931] Oops: invalid opcode: 0000 [#1] SMP KASAN
>> <4>[  145.333934] CPU: 2 UID: 0 PID: 2403 Comm: amd_s2idle.py Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
>> <4>[  145.333937] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
>> <4>[  145.333938] RIP: 0010:__list_add_valid_or_report+0xf5/0x130
>> <4>[  145.333942] Code: 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 75 3c 49 8b 55 00 4c 89 e9 48 89 de 48 c7 c7 40 a9 0a 98 e8 eb b7 c1 fe <0f> 0b 4c 89 e7 e8 91 17 7d ff e9 40 ff ff ff 4c 89 ef e8 84 17 7d
>> Oops#1 Part4
>> <4>[  145.333944] RSP: 0018:ffff888130a87788 EFLAGS: 00010282
>> <4>[  145.333946] RAX: 0000000000000075 RBX: ffffffff98f75ce0 RCX: 0000000000000000
>> <4>[  145.333948] RDX: 0000000000000075 RSI: 0000000000000004 RDI: ffffed1026150ee3
>> <4>[  145.333949] RBP: ffffffff98f714f8 R08: 0000000000000001 R09: ffffed107a1a5c31
>> <4>[  145.333950] R10: ffff8883d0d2e18b R11: 0000000000000000 R12: ffffffff98f75ce8
>> <4>[  145.333951] R13: ffff888123152198 R14: ffff888123152198 R15: ffff888130a877e8
>> <4>[  145.333953] FS:  00007f7272279080(0000) GS:ffff888437132000(0000) knlGS:0000000000000000
>> <4>[  145.333954] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> <4>[  145.333956] CR2: 00007f7271dcfed0 CR3: 000000011eb2f000 CR4: 0000000000f50ef0
>> <4>[  145.333957] PKRU: 55555554
>> <4>[  145.333958] Call Trace:
>> <4>[  145.333960]  <TASK>
>> <4>[  145.333961]  dpm_resume+0x2b9/0x760
>> <4>[  145.333964]  ? dpm_resume_start+0x30/0x30
>> <4>[  145.333967]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
>> <4>[  145.333969]  ? ktime_get+0x32/0x150
>> <4>[  145.333971]  dpm_resume_end+0x11/0x20
>> <4>[  145.333974]  suspend_devices_and_enter+0x349/0x12f0
>> <4>[  145.333978]  ? arch_suspend_enable_irqs+0x20/0x20
>> <4>[  145.333981]  ? dpm_save_failed_dev.cold+0x36/0x36
>> <4>[  145.333984]  ? up_write+0x1a7/0x4e0
>> <4>[  145.333987]  pm_suspend.cold+0x3f9/0x466
>> <4>[  145.333989]  state_store+0xa3/0x150
>> <4>[  145.333992]  ? sysfs_file_ops+0x110/0x110
>> <4>[  145.333994]  kernfs_fop_write_iter+0x407/0x630
>> <4>[  145.333997]  vfs_write+0x514/0xf60
>> <4>[  145.334000]  ? kernel_write+0x5f0/0x5f0
>> Oops#1 Part3
>> <4>[  145.334003]  ? ptep_set_access_flags+0xea/0x120
>> <4>[  145.334005]  ? lruvec_init+0x1e0/0x1e0
>> <4>[  145.334008]  ? pgd_free+0x4b0/0x4b0
>> <4>[  145.334011]  ksys_write+0xf9/0x1c0
>> <4>[  145.334013]  ? __ia32_sys_read+0xb0/0xb0
>> <4>[  145.334015]  ? wp_page_reuse+0x160/0x1e0
>> <4>[  145.334017]  ? do_wp_page+0x14b9/0x2e70
>> <4>[  145.334020]  do_syscall_64+0x97/0x3d0
>> <4>[  145.334023]  ? lock_acquire+0x291/0x2e0
>> <4>[  145.334024]  ? __vmf_anon_prepare+0x1e0/0x1e0
>> <4>[  145.334026]  ? lock_release+0x1ff/0x2a0
>> <4>[  145.334028]  ? do_raw_spin_lock+0x12d/0x260
>> <4>[  145.334030]  ? __rwlock_init+0x150/0x150
>> <4>[  145.334032]  ? set_p4d+0xb0/0xb0
>> <4>[  145.334034]  ? __handle_mm_fault+0x147d/0x2010
>> <4>[  145.334037]  ? __mutex_lock+0x12a1/0x19f0
>> <4>[  145.334040]  ? copy_page_range+0x4190/0x4190
>> <4>[  145.334042]  ? lock_acquire+0x291/0x2e0
>> <4>[  145.334044]  ? lock_release+0x1ff/0x2a0
>> <4>[  145.334047]  ? __count_memcg_events+0x399/0x4c0
>> <4>[  145.334049]  ? do_syscall_64+0x155/0x3d0
>> <4>[  145.334051]  ? lock_release+0x1ff/0x2a0
>> <4>[  145.334052]  ? count_memcg_events.constprop.0+0x4a/0x60
>> <4>[  145.334055]  ? handle_mm_fault+0x3d8/0x7d0
>> <4>[  145.334057]  ? lock_release+0x1ff/0x2a0
>> <4>[  145.334059]  ? do_user_addr_fault+0x4a3/0xa00
>> <4>[  145.334061]  ? irqentry_exit_to_user_mode+0x8d/0x270
>> <4>[  145.334064]  ? trace_hardirqs_on_prepare+0xd7/0x110
>> <4>[  145.334067]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> <4>[  145.334069] RIP: 0033:0x7f727237e0d0
>> <4>[  145.334071] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
>> Oops#1 Part2
>> <4>[  145.334073] RSP: 002b:00007fff9a1353b8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
>> <4>[  145.334075] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f727237e0d0
>> <4>[  145.334076] RDX: 0000000000000003 RSI: 0000000026d40370 RDI: 0000000000000004
>> <4>[  145.334077] RBP: 00007f7272278fe8 R08: 0000000000000000 R09: 0000000000000002
>> <4>[  145.334078] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
>> <4>[  145.334079] R13: 0000000000000004 R14: 0000000026d40370 R15: 0000000000a4bb48
>> <4>[  145.334083]  </TASK>
>> <4>[  145.334084] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc snd_soc_dmic snd_acp3x_pdm_dma snd_acp3x_rn snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci nls_ascii snd_sof_xtensa_dsp nls_cp437 snd_sof vfat fat snd_sof_utils snd_soc_core snd_ctl_led iwlmvm snd_compress snd_hda_codec_realtek snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match btusb mac80211 snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi uvcvideo btrtl snd_acp_pci intel_rapl_msr videobuf2_vmalloc snd_hda_intel btintel snd_amd_acpi_mach intel_rapl_common videobuf2_memops snd_intel_dspcfg snd_acp_legacy_common snd_hda_codec snd_pci_acp6x btbcm uvc libarc4 snd_pci_acp5x kvm_amd btmtk videobuf2_v4l2 snd_hwdep kvm snd_hda_core snd_rn_pci_acp3x iwlwifi
>> Oops#1 Part1
>> <4>[  145.334149]  videodev ucsi_acpi hp_wmi snd_pcm irqbypass bluetooth snd_acp_config platform_profile videobuf2_common typec_ucsi ee1004 snd_soc_acpi mc snd_timer rapl sparse_keymap wmi_bmof sg cfg80211 pcspkr sp5100_tco roles k10temp snd_pci_acp3x snd battery watchdog ccp rfkill typec soundcore ac amd_pmc acpi_tad joydev evdev serio_raw msr parport_pc ppdev lp dm_mod parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi sd_mod btrfs blake2b_generic xor raid6_pq uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch hid_generic drm_kms_helper xhci_pci nvme cec xhci_hcd nvme_core ghash_clmulni_intel i2c_hid_acpi i2c_piix4 video rc_core nvme_keyring usbcore sha512_ssse3 i2c_hid i2c_smbus crc16 nvme_auth usb_common amd_sfh fan hid button wmi drm aesni_intel
>> <4>[  145.334223] ---[ end trace 0000000000000000 ]---
>>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-02 15:21       ` Mario Limonciello
@ 2025-06-02 19:58         ` Rafael J. Wysocki
  2025-06-03  9:38           ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-02 19:58 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Rafael J. Wysocki, Chris Bainbridge, Rafael J. Wysocki, Linux PM,
	LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan, amd-gfx

On Mon, Jun 2, 2025 at 5:22 PM Mario Limonciello <superm1@kernel.org> wrote:
>
> On 6/2/2025 9:29 AM, Rafael J. Wysocki wrote:
> > On Mon, Jun 2, 2025 at 2:11 PM Chris Bainbridge
> > <chris.bainbridge@gmail.com> wrote:
> >>
> >> On Fri, Mar 14, 2025 at 02:13:53PM +0100, Rafael J. Wysocki wrote:
> >>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >>>
> >>> In analogy with the previous change affecting the resume path,
> >>> make device_suspend() start the async suspend of the device's parent
> >>> after the device itself has been processed and make dpm_suspend() start
> >>> processing "async" leaf devices (that is, devices without children)
> >>> upfront so they don't need to wait for the "sync" devices they don't
> >>> depend on.
> >>>
> >>> On the Dell XPS13 9360 in my office, this change reduces the total
> >>> duration of device suspend by approximately 100 ms (over 20%).
> >>>
> >>> Suggested-by: Saravana Kannan <saravanak@google.com>
> >>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >>
> >> This commit results in memory corruption on suspend/resume with short
> >> suspend duration.
> >
> > What do you mean by short?
>
> The tool he used will program a timer to wake up the system.
> The time he input was programmed for a cycle that was short enough that
> the suspend entry didn't finish and it triggered an aborted suspend.

So it crashes during resume when the preceding suspend has been aborted IIUC.

The exact crash mechanism is still unclear to me though.

> >
> >> Laptop appears to hang and crash is logged to pstore.
> >
> > Interesting that this is only happening on one system.
> >
> > Thanks for the report anyway, I'll look at this shortly.
> >
> >> To reproduce: `amd_s2idle.py --log log --duration 1 --wait 4 --count 30`
> >>
> >> I have reproduced this both with and without Mario's recent suspend fix
> >> https://lore.kernel.org/amd-gfx/20250602014432.3538345-1-superm1@kernel.org/T/#t
> >>
> >> Pstore log (with Mario's fix):
> >>
> >> <6>[  194.209939] PM: suspend entry (s2idle)
> >> <6>[  194.409450] Filesystems sync: 0.199 seconds
> >> <6>[  194.409756] Freezing user space processes
> >> <6>[  194.411374] Freezing user space processes completed (elapsed 0.001 seconds)
> >> <6>[  194.411377] OOM killer disabled.
> >> <6>[  194.411378] Freezing remaining freezable tasks
> >> <6>[  194.412517] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> >> <6>[  194.412520] printk: Suspending console(s) (use no_console_suspend to debug)
> >> <7>[  194.663906] PM: suspend of devices aborted after 0.260 msecs
> >> <7>[  194.663911] PM: start suspend of devices aborted after 251.365 msecs
> >> <3>[  194.663913] PM: Some devices failed to suspend, or early wake event detected
> >> <4>[  194.663975] i2c i2c-3: Unbalanced pm_runtime_enable!
> >> <4>[  194.663989] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
> >> Oops#1 Part6
> >> <4>[  194.663991] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
> >> <4>[  194.663992] CPU: 5 UID: 0 PID: 121 Comm: kworker/u64:10 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> >> <4>[  194.663994] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  194.663996] Workqueue: async async_run_entry_fn
> >> <4>[  194.663998]  slab kmalloc-2k
> >> <4>[  194.664000]
> >> <4>[  194.664000]  start ffff99bbe24ac800 pointer offset 408
> >> <4>[  194.664001] Call Trace:
> >> <4>[  194.664002]  size 2048
> >> <3>[  194.664003] list_add corruption. prev->next should be next (ffffffff9da75c60), but was ffff99bbd1d94790. (prev=ffff99bbe24ac998).
> >> <4>[  194.664003]  <TASK>
> >> <4>[  194.664007]  dump_stack_lvl+0x6e/0x90
> >> <4>[  194.664011] ------------[ cut here ]------------
> >> <4>[  194.664011]  pm_runtime_enable.cold+0x28/0x48
> >> <2>[  194.664011] kernel BUG at lib/list_debug.c:32!
> >> <4>[  194.664013]  device_resume+0x47/0x200
> >> <4>[  194.664016] Oops: invalid opcode: 0000 [#1] SMP
> >> <4>[  194.664017]  async_resume+0x1d/0x30
> >> <4>[  194.664018] CPU: 2 UID: 0 PID: 2505 Comm: amd_s2idle.py Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> >> <4>[  194.664019]  async_run_entry_fn+0x2e/0x130
> >> <4>[  194.664020] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  194.664021] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
> >> <4>[  194.664022]  process_one_work+0x22b/0x5b0
> >> <4>[  194.664024] Code: e4 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 49 57 c6 ff 48 8b 34 24 48 c7 c7 70 d1 64 9d 48 8b 16 48 89 f1 48 89 de e8 00 e4 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
> >> Oops#1 Part5
> >> <4>[  194.664025] RSP: 0018:ffffc09a45dafb20 EFLAGS: 00010246
> >> <4>[  194.664026]  worker_thread+0x1da/0x3d0
> >> <4>[  194.664027] RAX: 0000000000000075 RBX: ffffffff9da75c60 RCX: 0000000000000027
> >> <4>[  194.664028] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff99becd11de40
> >> <4>[  194.664029] RBP: ffffffff9da74c00 R08: 0000000000000000 R09: 0000000000000000
> >> <4>[  194.664029] R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000010
> >> <4>[  194.664029]  ? bh_worker+0x260/0x260
> >> <4>[  194.664030] R13: 0000002990e47f3d R14: ffff99bbe24ac998 R15: ffff99bbe0b67620
> >> <4>[  194.664031] FS:  00007fe534bfc080(0000) GS:ffff99bf2ee50000(0000) knlGS:0000000000000000
> >> <4>[  194.664031]  kthread+0x10a/0x250
> >> <4>[  194.664032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> >> <4>[  194.664033] CR2: 000055fdfaf910b8 CR3: 000000010d4a9000 CR4: 0000000000f50ef0
> >> <4>[  194.664034]  ? kthreads_online_cpu+0x130/0x130
> >> <4>[  194.664034] PKRU: 55555554
> >> <4>[  194.664035] Call Trace:
> >> <4>[  194.664036]  <TASK>
> >> <4>[  194.664036]  ret_from_fork+0x31/0x50
> >> <4>[  194.664037]  dpm_resume+0x139/0x350
> >> <4>[  194.664039]  ? kthreads_online_cpu+0x130/0x130
> >> <4>[  194.664041]  dpm_resume_end+0x11/0x20
> >> <4>[  194.664040]  ret_from_fork_asm+0x11/0x20
> >> <4>[  194.664042]  suspend_devices_and_enter+0x18e/0x9f0
> >> <4>[  194.664045]  </TASK>
> >> <4>[  194.664046]  pm_suspend.cold+0x22f/0x28f
> >> <4>[  194.664046] CPU: 4 UID: 0 PID: 115 Comm: kworker/u64:4 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> >> Oops#1 Part4
> >> <4>[  194.664048]  state_store+0x6c/0xd0
> >> <4>[  194.664049] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  194.664050] Workqueue: async async_run_entry_fn
> >> <4>[  194.664051]  kernfs_fop_write_iter+0x194/0x250
> >> <4>[  194.664052] Call Trace:
> >> <4>[  194.664052]  <TASK>
> >> <4>[  194.664053]  dump_stack_lvl+0x6e/0x90
> >> <4>[  194.664054]  vfs_write+0x2ac/0x550
> >> <4>[  194.664055]  pm_runtime_enable.cold+0x28/0x48
> >> <4>[  194.664057]  device_resume+0x47/0x200
> >> <4>[  194.664058]  ksys_write+0x71/0xe0
> >> <4>[  194.664060]  async_resume+0x1d/0x30
> >> <4>[  194.664060]  do_syscall_64+0x95/0x1a0
> >> <4>[  194.664062]  async_run_entry_fn+0x2e/0x130
> >> <4>[  194.664062]  ? lockdep_sys_exit+0x1e/0x90
> >> <4>[  194.664064]  process_one_work+0x22b/0x5b0
> >> <4>[  194.664064]  ? trace_hardirqs_on_prepare+0x77/0xa0
> >> <4>[  194.664066]  ? syscall_exit_to_user_mode+0xb1/0x280
> >> <4>[  194.664067]  worker_thread+0x1da/0x3d0
> >> <4>[  194.664068]  ? __mutex_lock+0xdb/0xed0
> >> <4>[  194.664070]  ? __mutex_lock+0xafb/0xed0
> >> <4>[  194.664070]  ? bh_worker+0x260/0x260
> >> <4>[  194.664072]  ? kernfs_fop_llseek+0x35/0xd0
> >> <4>[  194.664072]  kthread+0x10a/0x250
> >> <4>[  194.664073]  ? lock_release+0x1ff/0x2a0
> >> <4>[  194.664074]  ? kthreads_online_cpu+0x130/0x130
> >> <4>[  194.664075]  ? lock_acquire+0x270/0x2d0
> >> <4>[  194.664076]  ret_from_fork+0x31/0x50
> >> <4>[  194.664077]  ? __mutex_unlock_slowpath+0x3c/0x2c0
> >> <4>[  194.664078]  ? kthreads_online_cpu+0x130/0x130
> >> <4>[  194.664079]  ? kernfs_fop_llseek+0x77/0xd0
> >> <4>[  194.664079]  ret_from_fork_asm+0x11/0x20
> >> <4>[  194.664081]  ? lockdep_sys_exit+0x1e/0x90
> >> <4>[  194.664082]  ? trace_hardirqs_on_prepare+0x77/0xa0
> >> Oops#1 Part3
> >> <4>[  194.664084]  </TASK>
> >> <4>[  194.664084]  ? syscall_exit_to_user_mode+0xb1/0x280
> >> <4>[  194.664086]  ? do_syscall_64+0xa1/0x1a0
> >> <4>[  194.664086] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!

So it looks like this device is resumed even though it has not been suspended.

> >> <4>[  194.664087]  ? do_syscall_64+0xa1/0x1a0
> >> <4>[  194.664088]  ? do_syscall_64+0xa1/0x1a0
> >> <4>[  194.664090]  ? switch_fpu_return+0xce/0x100
> >> <4>[  194.664092]  ? lockdep_sys_exit+0x1e/0x90
> >> <4>[  194.664093]  ? trace_hardirqs_on_prepare+0x77/0xa0
> >> <4>[  194.664095]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> >> <4>[  194.664096] RIP: 0033:0x7fe534d010d0
> >> <4>[  194.664098] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
> >> <4>[  194.664099] RSP: 002b:00007ffeea167ab8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> >> <4>[  194.664101] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007fe534d010d0
> >> <4>[  194.664101] RDX: 0000000000000003 RSI: 000000002689f620 RDI: 0000000000000004
> >> <4>[  194.664102] RBP: 00007fe534bfbfe8 R08: 0000000000000000 R09: 0000000000000002
> >> <4>[  194.664103] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
> >> <4>[  194.664103] R13: 0000000000000004 R14: 000000002689f620 R15: 0000000000a4bb48
> >> <4>[  194.664107]  </TASK>
> >> <4>[  194.664107] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user
> >> <4>[  194.664113] btusb 3-3:1.1: Unbalanced pm_runtime_enable!

And same here.

> >> <4>[  194.664114]  xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay
> >> Oops#1 Part2
> >> <4>[  194.664120] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
> >> <4>[  194.664120]  qrtr rfcomm cmac algif_hash algif_skcipher
> >> <4>[  194.664122] CPU: 7 UID: 0 PID: 2536 Comm: kworker/u64:38 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> >> <4>[  194.664123]  af_alg bnep binfmt_misc
> >> <4>[  194.664124] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  194.664125]  nls_ascii nls_cp437 vfat fat
> >> <4>[  194.664126] Workqueue: async async_run_entry_fn
> >> <4>[  194.664127]  snd_acp3x_pdm_dma snd_soc_dmic
> >> <4>[  194.664128]
> >> <4>[  194.664128]  snd_acp3x_rn
> >> <4>[  194.664129] Call Trace:
> >> <4>[  194.664129]  snd_sof_amd_rembrandt snd_sof_amd_acp
> >> <4>[  194.664130]  <TASK>
> >> <4>[  194.664130]  snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led
> >> <4>[  194.664132]  dump_stack_lvl+0x6e/0x90
> >> <4>[  194.664133]  iwlmvm snd_soc_core snd_hda_codec_realtek snd_hda_codec_generic
> >> <4>[  194.664135]  pm_runtime_enable.cold+0x28/0x48
> >> <4>[  194.664135]  snd_compress
> >> <4>[  194.664136]  snd_pci_ps snd_hda_scodec_component mac80211 snd_hda_codec_hdmi
> >> <4>[  194.664137]  device_resume+0x47/0x200
> >> <4>[  194.664138]  snd_soc_acpi_amd_match uvcvideo snd_rpl_pci_acp6x snd_hda_intel videobuf2_vmalloc
> >> <4>[  194.664140]  async_resume+0x1d/0x30
> >> <4>[  194.664141]  snd_acp_pci
> >> <4>[  194.664141]  btusb snd_intel_dspcfg videobuf2_memops
> >> <4>[  194.664142]  async_run_entry_fn+0x2e/0x130
> >> <4>[  194.664143]  snd_amd_acpi_mach snd_hda_codec intel_rapl_msr btrtl snd_acp_legacy_common
> >> <4>[  194.664145]  process_one_work+0x22b/0x5b0
> >> <4>[  194.664146]  uvc libarc4 intel_rapl_common btintel snd_pci_acp6x snd_hwdep videobuf2_v4l2
> >> Oops#1 Part1
> >> <4>[  194.664148]  worker_thread+0x1da/0x3d0
> >> <4>[  194.664149]  btbcm snd_pci_acp5x snd_hda_core kvm_amd videodev
> >> <4>[  194.664151]  ? bh_worker+0x260/0x260
> >> <4>[  194.664152]  btmtk hp_wmi snd_rn_pci_acp3x
> >> <4>[  194.664153]  kthread+0x10a/0x250
> >> <4>[  194.664154]  snd_pcm iwlwifi ucsi_acpi kvm
> >> <4>[  194.664155]  ? kthreads_online_cpu+0x130/0x130
> >> <4>[  194.664157]  videobuf2_common platform_profile ee1004
> >> <4>[  194.664158]  ret_from_fork+0x31/0x50
> >> <4>[  194.664158]  bluetooth snd_acp_config snd_timer
> >> <4>[  194.664160]  ? kthreads_online_cpu+0x130/0x130
> >> <4>[  194.664160]  typec_ucsi sparse_keymap mc sg
> >> <4>[  194.664162]  ret_from_fork_asm+0x11/0x20
> >> <4>[  194.664163]  cfg80211 sp5100_tco snd_soc_acpi snd rapl roles wmi_bmof pcspkr
> >> <4>[  194.664167]  </TASK>
> >> <4>[  194.664167]  rfkill
> >> <4>[  194.664167]  watchdog ccp k10temp soundcore snd_pci_acp3x typec ac battery amd_pmc joydev acpi_tad serio_raw evdev msr parport_pc dm_mod ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_generic btrfs blake2b_generic xor raid6_pq sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch drm_kms_helper hid_generic nvme xhci_pci xhci_hcd cec nvme_core i2c_hid_acpi ghash_clmulni_intel usbcore rc_core nvme_keyring i2c_hid i2c_piix4 amd_sfh video sha512_ssse3 usb_common crc16 nvme_auth i2c_smbus drm fan button hid wmi aesni_intel crypto_simd cryptd
> >> <4>[  194.664209] ---[ end trace 0000000000000000 ]---
> >>
> >> Another crash log from latest git (without Mario's fix):
> >>
> >> <6>[  144.858062] PM: suspend entry (s2idle)
> >> <6>[  145.062853] Filesystems sync: 0.204 seconds
> >> <6>[  145.064633] Freezing user space processes
> >> <6>[  145.066592] Freezing user space processes completed (elapsed 0.001 seconds)
> >> <6>[  145.066598] OOM killer disabled.
> >> <6>[  145.066600] Freezing remaining freezable tasks
> >> <6>[  145.067783] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> >> <6>[  145.067787] printk: Suspending console(s) (use no_console_suspend to debug)
> >> <7>[  145.333423] PM: suspend of devices aborted after 0.905 msecs
> >> <7>[  145.333431] PM: start suspend of devices aborted after 265.772 msecs
> >> <3>[  145.333434] PM: Some devices failed to suspend, or early wake event detected
> >> <4>[  145.333608] i2c i2c-3: Unbalanced pm_runtime_enable!
> >> <4>[  145.333633] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
> >> <4>[  145.333639] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> >> <4>[  145.333643] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  145.333645] Workqueue: async async_run_entry_fn
> >> <4>[  145.333650] Call Trace:
> >> <4>[  145.333651] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
> >> Oops#1 Part7
> >> <4>[  145.333652]  <TASK>
> >> <4>[  145.333654]  dump_stack_lvl+0x6e/0x90
> >> <4>[  145.333659]  pm_runtime_enable.cold+0x14/0x48

Now this looks like a direct-complete device that is being resumed
even though it has not been suspended.

Apparently, the power.is_suspended flag is set for it, or
device_resume() would not call pm_runtime_enable(), so I'm not sure
how this can happen.

> >> <4>[  145.333662]  device_resume+0xd9/0x570
> >> <4>[  145.333665]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> >> <4>[  145.333668]  ? device_resume+0x570/0x570
> >> <4>[  145.333670]  async_resume+0x1d/0x30
> >> <4>[  145.333672]  async_run_entry_fn+0x97/0x4f0
> >> <4>[  145.333674]  process_one_work+0x849/0x1450
> >> <4>[  145.333678]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
> >> <4>[  145.333681]  ? assign_work+0x168/0x240
> >> <4>[  145.333683]  worker_thread+0x5f3/0xfd0
> >> <4>[  145.333688]  ? process_one_work+0x1450/0x1450
> >> <4>[  145.333691]  kthread+0x3a2/0x760
> >> <4>[  145.333694]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333697]  ? ret_from_fork+0x23/0x480
> >> <4>[  145.333701]  ? lock_release+0xd1/0x2a0
> >> <4>[  145.333704]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333707]  ret_from_fork+0x387/0x480
> >> <4>[  145.333709]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333711]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333714]  ret_from_fork_asm+0x11/0x20
> >> <4>[  145.333720]  </TASK>
> >> <4>[  145.333722] CPU: 10 UID: 0 PID: 2387 Comm: kworker/u64:28 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> >> <4>[  145.333727] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  145.333729] Workqueue: async async_run_entry_fn
> >> <4>[  145.333734] Call Trace:
> >> <4>[  145.333735]  <TASK>
> >> <4>[  145.333738]  dump_stack_lvl+0x6e/0x90
> >> <4>[  145.333743]  pm_runtime_enable.cold+0x14/0x48
> >> <4>[  145.333747]  device_resume+0xd9/0x570
> >> <4>[  145.333751]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> >> <4>[  145.333756]  ? device_resume+0x570/0x570
> >> Oops#1 Part6
> >> <4>[  145.333759]  async_resume+0x1d/0x30
> >> <4>[  145.333763]  async_run_entry_fn+0x97/0x4f0
> >> <4>[  145.333768]  process_one_work+0x849/0x1450
> >> <4>[  145.333775]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
> >> <4>[  145.333780]  ? assign_work+0x168/0x240
> >> <4>[  145.333784]  worker_thread+0x5f3/0xfd0
> >> <4>[  145.333790]  ? process_one_work+0x1450/0x1450
> >> <4>[  145.333793] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
> >> <4>[  145.333793] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
> >> <4>[  145.333793]  kthread+0x3a2/0x760
> >> <4>[  145.333797]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333801]  ? ret_from_fork+0x23/0x480
> >> <4>[  145.333805]  ? lock_release+0xd1/0x2a0
> >> <4>[  145.333808]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333809] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
> >> <4>[  145.333813]  ret_from_fork+0x387/0x480
> >> <4>[  145.333817]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333820]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333824]  ret_from_fork_asm+0x11/0x20
> >> <4>[  145.333830]  </TASK>
> >> <4>[  145.333836] CPU: 12 UID: 0 PID: 2375 Comm: kworker/u64:16 Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> >> <4>[  145.333840] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  145.333843] Workqueue: async async_run_entry_fn
> >> <4>[  145.333849] Call Trace:
> >> <4>[  145.333851]  <TASK>
> >> <4>[  145.333854]  dump_stack_lvl+0x6e/0x90
> >> <4>[  145.333858]  pm_runtime_enable.cold+0x14/0x48
> >> <4>[  145.333862]  device_resume+0xd9/0x570
> >> <4>[  145.333864]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> >> <4>[  145.333868]  ? device_resume+0x570/0x570
> >> <4>[  145.333870]  async_resume+0x1d/0x30
> >> <4>[  145.333872]  async_run_entry_fn+0x97/0x4f0
> >> Oops#1 Part5
> >> <4>[  145.333875]  process_one_work+0x849/0x1450
> >> <4>[  145.333879]  ? pwq_dec_nr_in_flight+0xfb0/0xfb0
> >> <4>[  145.333882]  ? assign_work+0x168/0x240
> >> <4>[  145.333885]  worker_thread+0x5f3/0xfd0
> >> <4>[  145.333888]  ? process_one_work+0x1450/0x1450
> >> <4>[  145.333889]  kthread+0x3a2/0x760
> >> <4>[  145.333892]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333892]  slab kmalloc-2k
> >> <4>[  145.333894]  ? ret_from_fork+0x23/0x480
> >> <4>[  145.333897]  ? lock_release+0xd1/0x2a0
> >> <4>[  145.333900]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333902]  ret_from_fork+0x387/0x480
> >> <4>[  145.333902]  start ffff888123152000
> >> <4>[  145.333905]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333904]  pointer offset 408 size 2048
> >> <4>[  145.333908]  ? kthread_is_per_cpu+0xc0/0xc0
> >> <4>[  145.333908]
> >> <3>[  145.333910] list_add corruption. prev->next should be next (ffffffff98f75ce0), but was ffff888137fc8790. (prev=ffff888123152198).
> >> <4>[  145.333910]  ret_from_fork_asm+0x11/0x20
> >> <4>[  145.333914]  </TASK>
> >> <4>[  145.333924] ------------[ cut here ]------------
> >> <2>[  145.333925] kernel BUG at lib/list_debug.c:32!
> >> <4>[  145.333931] Oops: invalid opcode: 0000 [#1] SMP KASAN
> >> <4>[  145.333934] CPU: 2 UID: 0 PID: 2403 Comm: amd_s2idle.py Not tainted 6.15.0-09115-g5e799ddbfdab #388 PREEMPT(voluntary)
> >> <4>[  145.333937] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> >> <4>[  145.333938] RIP: 0010:__list_add_valid_or_report+0xf5/0x130
> >> <4>[  145.333942] Code: 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 75 3c 49 8b 55 00 4c 89 e9 48 89 de 48 c7 c7 40 a9 0a 98 e8 eb b7 c1 fe <0f> 0b 4c 89 e7 e8 91 17 7d ff e9 40 ff ff ff 4c 89 ef e8 84 17 7d
> >> Oops#1 Part4
> >> <4>[  145.333944] RSP: 0018:ffff888130a87788 EFLAGS: 00010282
> >> <4>[  145.333946] RAX: 0000000000000075 RBX: ffffffff98f75ce0 RCX: 0000000000000000
> >> <4>[  145.333948] RDX: 0000000000000075 RSI: 0000000000000004 RDI: ffffed1026150ee3
> >> <4>[  145.333949] RBP: ffffffff98f714f8 R08: 0000000000000001 R09: ffffed107a1a5c31
> >> <4>[  145.333950] R10: ffff8883d0d2e18b R11: 0000000000000000 R12: ffffffff98f75ce8
> >> <4>[  145.333951] R13: ffff888123152198 R14: ffff888123152198 R15: ffff888130a877e8
> >> <4>[  145.333953] FS:  00007f7272279080(0000) GS:ffff888437132000(0000) knlGS:0000000000000000
> >> <4>[  145.333954] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> >> <4>[  145.333956] CR2: 00007f7271dcfed0 CR3: 000000011eb2f000 CR4: 0000000000f50ef0
> >> <4>[  145.333957] PKRU: 55555554
> >> <4>[  145.333958] Call Trace:
> >> <4>[  145.333960]  <TASK>
> >> <4>[  145.333961]  dpm_resume+0x2b9/0x760
> >> <4>[  145.333964]  ? dpm_resume_start+0x30/0x30
> >> <4>[  145.333967]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
> >> <4>[  145.333969]  ? ktime_get+0x32/0x150
> >> <4>[  145.333971]  dpm_resume_end+0x11/0x20
> >> <4>[  145.333974]  suspend_devices_and_enter+0x349/0x12f0
> >> <4>[  145.333978]  ? arch_suspend_enable_irqs+0x20/0x20
> >> <4>[  145.333981]  ? dpm_save_failed_dev.cold+0x36/0x36
> >> <4>[  145.333984]  ? up_write+0x1a7/0x4e0
> >> <4>[  145.333987]  pm_suspend.cold+0x3f9/0x466
> >> <4>[  145.333989]  state_store+0xa3/0x150
> >> <4>[  145.333992]  ? sysfs_file_ops+0x110/0x110
> >> <4>[  145.333994]  kernfs_fop_write_iter+0x407/0x630
> >> <4>[  145.333997]  vfs_write+0x514/0xf60
> >> <4>[  145.334000]  ? kernel_write+0x5f0/0x5f0
> >> Oops#1 Part3
> >> <4>[  145.334003]  ? ptep_set_access_flags+0xea/0x120
> >> <4>[  145.334005]  ? lruvec_init+0x1e0/0x1e0
> >> <4>[  145.334008]  ? pgd_free+0x4b0/0x4b0
> >> <4>[  145.334011]  ksys_write+0xf9/0x1c0
> >> <4>[  145.334013]  ? __ia32_sys_read+0xb0/0xb0
> >> <4>[  145.334015]  ? wp_page_reuse+0x160/0x1e0
> >> <4>[  145.334017]  ? do_wp_page+0x14b9/0x2e70
> >> <4>[  145.334020]  do_syscall_64+0x97/0x3d0
> >> <4>[  145.334023]  ? lock_acquire+0x291/0x2e0
> >> <4>[  145.334024]  ? __vmf_anon_prepare+0x1e0/0x1e0
> >> <4>[  145.334026]  ? lock_release+0x1ff/0x2a0
> >> <4>[  145.334028]  ? do_raw_spin_lock+0x12d/0x260
> >> <4>[  145.334030]  ? __rwlock_init+0x150/0x150
> >> <4>[  145.334032]  ? set_p4d+0xb0/0xb0
> >> <4>[  145.334034]  ? __handle_mm_fault+0x147d/0x2010
> >> <4>[  145.334037]  ? __mutex_lock+0x12a1/0x19f0
> >> <4>[  145.334040]  ? copy_page_range+0x4190/0x4190
> >> <4>[  145.334042]  ? lock_acquire+0x291/0x2e0
> >> <4>[  145.334044]  ? lock_release+0x1ff/0x2a0
> >> <4>[  145.334047]  ? __count_memcg_events+0x399/0x4c0
> >> <4>[  145.334049]  ? do_syscall_64+0x155/0x3d0
> >> <4>[  145.334051]  ? lock_release+0x1ff/0x2a0
> >> <4>[  145.334052]  ? count_memcg_events.constprop.0+0x4a/0x60
> >> <4>[  145.334055]  ? handle_mm_fault+0x3d8/0x7d0
> >> <4>[  145.334057]  ? lock_release+0x1ff/0x2a0
> >> <4>[  145.334059]  ? do_user_addr_fault+0x4a3/0xa00
> >> <4>[  145.334061]  ? irqentry_exit_to_user_mode+0x8d/0x270
> >> <4>[  145.334064]  ? trace_hardirqs_on_prepare+0xd7/0x110
> >> <4>[  145.334067]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> >> <4>[  145.334069] RIP: 0033:0x7f727237e0d0
> >> <4>[  145.334071] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
> >> Oops#1 Part2
> >> <4>[  145.334073] RSP: 002b:00007fff9a1353b8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> >> <4>[  145.334075] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f727237e0d0
> >> <4>[  145.334076] RDX: 0000000000000003 RSI: 0000000026d40370 RDI: 0000000000000004
> >> <4>[  145.334077] RBP: 00007f7272278fe8 R08: 0000000000000000 R09: 0000000000000002
> >> <4>[  145.334078] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
> >> <4>[  145.334079] R13: 0000000000000004 R14: 0000000026d40370 R15: 0000000000a4bb48
> >> <4>[  145.334083]  </TASK>
> >> <4>[  145.334084] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc snd_soc_dmic snd_acp3x_pdm_dma snd_acp3x_rn snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci nls_ascii snd_sof_xtensa_dsp nls_cp437 snd_sof vfat fat snd_sof_utils snd_soc_core snd_ctl_led iwlmvm snd_compress snd_hda_codec_realtek snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match btusb mac80211 snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi uvcvideo btrtl snd_acp_pci intel_rapl_msr videobuf2_vmalloc snd_hda_intel btintel snd_amd_acpi_mach intel_rapl_common videobuf2_memops snd_intel_dspcfg snd_acp_legacy_common snd_hda_codec snd_pci_acp6x btbcm uvc libarc4 snd_pci_acp5x kvm_amd btmtk videobuf2_v4l2 snd_hwdep kvm snd_hda_core snd_rn_pci_acp3x iwlwifi
> >> Oops#1 Part1
> >> <4>[  145.334149]  videodev ucsi_acpi hp_wmi snd_pcm irqbypass bluetooth snd_acp_config platform_profile videobuf2_common typec_ucsi ee1004 snd_soc_acpi mc snd_timer rapl sparse_keymap wmi_bmof sg cfg80211 pcspkr sp5100_tco roles k10temp snd_pci_acp3x snd battery watchdog ccp rfkill typec soundcore ac amd_pmc acpi_tad joydev evdev serio_raw msr parport_pc ppdev lp dm_mod parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi sd_mod btrfs blake2b_generic xor raid6_pq uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper hid_multitouch hid_generic drm_kms_helper xhci_pci nvme cec xhci_hcd nvme_core ghash_clmulni_intel i2c_hid_acpi i2c_piix4 video rc_core nvme_keyring usbcore sha512_ssse3 i2c_hid i2c_smbus crc16 nvme_auth usb_common amd_sfh fan hid button wmi drm aesni_intel
> >> <4>[  145.334223] ---[ end trace 0000000000000000 ]---
> >>
>

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-02 19:58         ` Rafael J. Wysocki
@ 2025-06-03  9:38           ` Rafael J. Wysocki
  2025-06-03 10:17             ` Chris Bainbridge
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03  9:38 UTC (permalink / raw)
  To: Mario Limonciello, Chris Bainbridge
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Jon Hunter, Saravana Kannan,
	amd-gfx

[-- Attachment #1: Type: text/plain, Size: 9763 bytes --]

On Mon, Jun 2, 2025 at 9:58 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Mon, Jun 2, 2025 at 5:22 PM Mario Limonciello <superm1@kernel.org> wrote:
> >
> > On 6/2/2025 9:29 AM, Rafael J. Wysocki wrote:
> > > On Mon, Jun 2, 2025 at 2:11 PM Chris Bainbridge
> > > <chris.bainbridge@gmail.com> wrote:
> > >>
> > >> On Fri, Mar 14, 2025 at 02:13:53PM +0100, Rafael J. Wysocki wrote:
> > >>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > >>>
> > >>> In analogy with the previous change affecting the resume path,
> > >>> make device_suspend() start the async suspend of the device's parent
> > >>> after the device itself has been processed and make dpm_suspend() start
> > >>> processing "async" leaf devices (that is, devices without children)
> > >>> upfront so they don't need to wait for the "sync" devices they don't
> > >>> depend on.
> > >>>
> > >>> On the Dell XPS13 9360 in my office, this change reduces the total
> > >>> duration of device suspend by approximately 100 ms (over 20%).
> > >>>
> > >>> Suggested-by: Saravana Kannan <saravanak@google.com>
> > >>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > >>
> > >> This commit results in memory corruption on suspend/resume with short
> > >> suspend duration.
> > >
> > > What do you mean by short?
> >
> > The tool he used will program a timer to wake up the system.
> > The time he input was programmed for a cycle that was short enough that
> > the suspend entry didn't finish and it triggered an aborted suspend.
>
> So it crashes during resume when the preceding suspend has been aborted IIUC.
>
> The exact crash mechanism is still unclear to me though.
>
> > >
> > >> Laptop appears to hang and crash is logged to pstore.
> > >
> > > Interesting that this is only happening on one system.
> > >
> > > Thanks for the report anyway, I'll look at this shortly.
> > >
> > >> To reproduce: `amd_s2idle.py --log log --duration 1 --wait 4 --count 30`
> > >>
> > >> I have reproduced this both with and without Mario's recent suspend fix
> > >> https://lore.kernel.org/amd-gfx/20250602014432.3538345-1-superm1@kernel.org/T/#t
> > >>
> > >> Pstore log (with Mario's fix):
> > >>
> > >> <6>[  194.209939] PM: suspend entry (s2idle)
> > >> <6>[  194.409450] Filesystems sync: 0.199 seconds
> > >> <6>[  194.409756] Freezing user space processes
> > >> <6>[  194.411374] Freezing user space processes completed (elapsed 0.001 seconds)
> > >> <6>[  194.411377] OOM killer disabled.
> > >> <6>[  194.411378] Freezing remaining freezable tasks
> > >> <6>[  194.412517] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> > >> <6>[  194.412520] printk: Suspending console(s) (use no_console_suspend to debug)
> > >> <7>[  194.663906] PM: suspend of devices aborted after 0.260 msecs
> > >> <7>[  194.663911] PM: start suspend of devices aborted after 251.365 msecs
> > >> <3>[  194.663913] PM: Some devices failed to suspend, or early wake event detected
> > >> <4>[  194.663975] i2c i2c-3: Unbalanced pm_runtime_enable!
> > >> <4>[  194.663989] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
> > >> Oops#1 Part6
> > >> <4>[  194.663991] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
> > >> <4>[  194.663992] CPU: 5 UID: 0 PID: 121 Comm: kworker/u64:10 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> > >> <4>[  194.663994] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> > >> <4>[  194.663996] Workqueue: async async_run_entry_fn
> > >> <4>[  194.663998]  slab kmalloc-2k
> > >> <4>[  194.664000]
> > >> <4>[  194.664000]  start ffff99bbe24ac800 pointer offset 408
> > >> <4>[  194.664001] Call Trace:
> > >> <4>[  194.664002]  size 2048
> > >> <3>[  194.664003] list_add corruption. prev->next should be next (ffffffff9da75c60), but was ffff99bbd1d94790. (prev=ffff99bbe24ac998).
> > >> <4>[  194.664003]  <TASK>
> > >> <4>[  194.664007]  dump_stack_lvl+0x6e/0x90
> > >> <4>[  194.664011] ------------[ cut here ]------------
> > >> <4>[  194.664011]  pm_runtime_enable.cold+0x28/0x48
> > >> <2>[  194.664011] kernel BUG at lib/list_debug.c:32!
> > >> <4>[  194.664013]  device_resume+0x47/0x200
> > >> <4>[  194.664016] Oops: invalid opcode: 0000 [#1] SMP
> > >> <4>[  194.664017]  async_resume+0x1d/0x30
> > >> <4>[  194.664018] CPU: 2 UID: 0 PID: 2505 Comm: amd_s2idle.py Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> > >> <4>[  194.664019]  async_run_entry_fn+0x2e/0x130
> > >> <4>[  194.664020] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> > >> <4>[  194.664021] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
> > >> <4>[  194.664022]  process_one_work+0x22b/0x5b0
> > >> <4>[  194.664024] Code: e4 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 49 57 c6 ff 48 8b 34 24 48 c7 c7 70 d1 64 9d 48 8b 16 48 89 f1 48 89 de e8 00 e4 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
> > >> Oops#1 Part5
> > >> <4>[  194.664025] RSP: 0018:ffffc09a45dafb20 EFLAGS: 00010246
> > >> <4>[  194.664026]  worker_thread+0x1da/0x3d0
> > >> <4>[  194.664027] RAX: 0000000000000075 RBX: ffffffff9da75c60 RCX: 0000000000000027
> > >> <4>[  194.664028] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff99becd11de40
> > >> <4>[  194.664029] RBP: ffffffff9da74c00 R08: 0000000000000000 R09: 0000000000000000
> > >> <4>[  194.664029] R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000010
> > >> <4>[  194.664029]  ? bh_worker+0x260/0x260
> > >> <4>[  194.664030] R13: 0000002990e47f3d R14: ffff99bbe24ac998 R15: ffff99bbe0b67620
> > >> <4>[  194.664031] FS:  00007fe534bfc080(0000) GS:ffff99bf2ee50000(0000) knlGS:0000000000000000
> > >> <4>[  194.664031]  kthread+0x10a/0x250
> > >> <4>[  194.664032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > >> <4>[  194.664033] CR2: 000055fdfaf910b8 CR3: 000000010d4a9000 CR4: 0000000000f50ef0
> > >> <4>[  194.664034]  ? kthreads_online_cpu+0x130/0x130
> > >> <4>[  194.664034] PKRU: 55555554
> > >> <4>[  194.664035] Call Trace:
> > >> <4>[  194.664036]  <TASK>
> > >> <4>[  194.664036]  ret_from_fork+0x31/0x50
> > >> <4>[  194.664037]  dpm_resume+0x139/0x350
> > >> <4>[  194.664039]  ? kthreads_online_cpu+0x130/0x130
> > >> <4>[  194.664041]  dpm_resume_end+0x11/0x20
> > >> <4>[  194.664040]  ret_from_fork_asm+0x11/0x20
> > >> <4>[  194.664042]  suspend_devices_and_enter+0x18e/0x9f0
> > >> <4>[  194.664045]  </TASK>
> > >> <4>[  194.664046]  pm_suspend.cold+0x22f/0x28f
> > >> <4>[  194.664046] CPU: 4 UID: 0 PID: 115 Comm: kworker/u64:4 Not tainted 6.15.0-rc1-00006-g032a79431b1c #425 PREEMPT(voluntary)
> > >> Oops#1 Part4
> > >> <4>[  194.664048]  state_store+0x6c/0xd0
> > >> <4>[  194.664049] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> > >> <4>[  194.664050] Workqueue: async async_run_entry_fn
> > >> <4>[  194.664051]  kernfs_fop_write_iter+0x194/0x250
> > >> <4>[  194.664052] Call Trace:
> > >> <4>[  194.664052]  <TASK>
> > >> <4>[  194.664053]  dump_stack_lvl+0x6e/0x90
> > >> <4>[  194.664054]  vfs_write+0x2ac/0x550
> > >> <4>[  194.664055]  pm_runtime_enable.cold+0x28/0x48
> > >> <4>[  194.664057]  device_resume+0x47/0x200
> > >> <4>[  194.664058]  ksys_write+0x71/0xe0
> > >> <4>[  194.664060]  async_resume+0x1d/0x30
> > >> <4>[  194.664060]  do_syscall_64+0x95/0x1a0
> > >> <4>[  194.664062]  async_run_entry_fn+0x2e/0x130
> > >> <4>[  194.664062]  ? lockdep_sys_exit+0x1e/0x90
> > >> <4>[  194.664064]  process_one_work+0x22b/0x5b0
> > >> <4>[  194.664064]  ? trace_hardirqs_on_prepare+0x77/0xa0
> > >> <4>[  194.664066]  ? syscall_exit_to_user_mode+0xb1/0x280
> > >> <4>[  194.664067]  worker_thread+0x1da/0x3d0
> > >> <4>[  194.664068]  ? __mutex_lock+0xdb/0xed0
> > >> <4>[  194.664070]  ? __mutex_lock+0xafb/0xed0
> > >> <4>[  194.664070]  ? bh_worker+0x260/0x260
> > >> <4>[  194.664072]  ? kernfs_fop_llseek+0x35/0xd0
> > >> <4>[  194.664072]  kthread+0x10a/0x250
> > >> <4>[  194.664073]  ? lock_release+0x1ff/0x2a0
> > >> <4>[  194.664074]  ? kthreads_online_cpu+0x130/0x130
> > >> <4>[  194.664075]  ? lock_acquire+0x270/0x2d0
> > >> <4>[  194.664076]  ret_from_fork+0x31/0x50
> > >> <4>[  194.664077]  ? __mutex_unlock_slowpath+0x3c/0x2c0
> > >> <4>[  194.664078]  ? kthreads_online_cpu+0x130/0x130
> > >> <4>[  194.664079]  ? kernfs_fop_llseek+0x77/0xd0
> > >> <4>[  194.664079]  ret_from_fork_asm+0x11/0x20
> > >> <4>[  194.664081]  ? lockdep_sys_exit+0x1e/0x90
> > >> <4>[  194.664082]  ? trace_hardirqs_on_prepare+0x77/0xa0
> > >> Oops#1 Part3
> > >> <4>[  194.664084]  </TASK>
> > >> <4>[  194.664084]  ? syscall_exit_to_user_mode+0xb1/0x280
> > >> <4>[  194.664086]  ? do_syscall_64+0xa1/0x1a0
> > >> <4>[  194.664086] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
>
> So it looks like this device is resumed even though it has not been suspended.

Or it is resumed for the second time in a row during the same transition.

I think I know what is going on and the bug is not in the commit in question.

There is a race between dpm_async_resume_children() and the first loop
in dpm_resume() which fortunately is only fatal when the preceding
suspend transition is aborted.  Namely, that loop can call
dpm_clear_async_state() for a device after dpm_async_with_cleanup()
has run for it, so power.work_in_progress gets cleared and
__dpm_async() will allow an async work to be scheduled for the same
device once again.

Chris, please check if the attached patch helps.  I'm going to post it
as a fix anyway later today, but it would be good to verify that it is
sufficient.

Thanks!

[-- Attachment #2: pm-sleep-fix-async-resume.patch --]
[-- Type: text/x-patch, Size: 555 bytes --]

---
 drivers/base/power/main.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -638,6 +638,13 @@
 static void dpm_async_resume_children(struct device *dev, async_func_t func)
 {
 	/*
+	 * Prevent racing with dpm_clear_async_state() during initial list
+	 * walks in dpm_noirq_resume_devices(), dpm_resume_early(), and
+	 * dpm_resume().
+	 */
+	guard(mutex)(&dpm_list_mtx);
+
+	/*
 	 * Start processing "async" children of the device unless it's been
 	 * started already for them.
 	 *

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03  9:38           ` Rafael J. Wysocki
@ 2025-06-03 10:17             ` Chris Bainbridge
  2025-06-03 10:29               ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Chris Bainbridge @ 2025-06-03 10:17 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> 
> Chris, please check if the attached patch helps.  I'm going to post it
> as a fix anyway later today, but it would be good to verify that it is
> sufficient.

This did not fix my test case, pstore crash log was:

<6>[  100.690222] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
<6>[  100.690392] printk: Suspending console(s) (use no_console_suspend to debug)
<7>[  100.949462] PM: suspend of devices aborted after 1.796 msecs
<7>[  100.949469] PM: start suspend of devices aborted after 258.160 msecs
<3>[  100.949472] PM: Some devices failed to suspend, or early wake event detected
<4>[  100.949565]  slab kmalloc-cg-4k start ffff916fede97000 pointer offset 1936 size 4096
<3>[  100.949589] list_add corruption. prev->next should be next (ffffffff8f877180), but was ffff916f8ed40998. (prev=ffff916fede97790).
<4>[  100.949600] ------------[ cut here ]------------
<2>[  100.949601] kernel BUG at lib/list_debug.c:32!
<4>[  100.949607] Oops: invalid opcode: 0000 [#1] SMP
<4>[  100.949610] CPU: 13 UID: 0 PID: 3703 Comm: amd_s2idle.py.o Not tainted 6.15.0-09119-g98079dc6057f #438 PREEMPT(voluntary) 
<4>[  100.949613] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
<4>[  100.949614] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
<4>[  100.949619] Code: 98 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 69 c6 c5 ff 48 8b 34 24 48 c7 c7 30 53 40 8f 48 8b 16 48 89 f1 48 89 de e8 50 98 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
<4>[  100.949621] RSP: 0018:ffffa0f6c715fb68 EFLAGS: 00010246
<4>[  100.949622] RAX: 0000000000000075 RBX: ffffffff8f877180 RCX: 0000000000000027
<4>[  100.949623] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff91724689e180
<4>[  100.949624] RBP: ffffffff8f876140 R08: 0000000000000001 R09: 0000000000000000
<4>[  100.949625] R10: 0000000000000001 R11: 0000000000000006 R12: 0000000000000010
Oops#1 Part3
<4>[  100.949626] R13: 000000177d0d8fb9 R14: ffff916fede97790 R15: ffff916f8e564820
<4>[  100.949627] FS:  00007f076a109100(0000) GS:ffff9172b67c7000(0000) knlGS:0000000000000000
<4>[  100.949628] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4>[  100.949629] CR2: 00007fa8ce10f61c CR3: 00000001b80bb000 CR4: 0000000000f50ef0
<4>[  100.949630] PKRU: 55555554
<4>[  100.949630] Call Trace:
<4>[  100.949631]  <TASK>
<4>[  100.949632]  dpm_resume+0x139/0x350
<4>[  100.949636]  dpm_resume_end+0x11/0x20
<4>[  100.949639]  suspend_devices_and_enter+0x18e/0x9f0
<4>[  100.949642]  pm_suspend.cold+0x273/0x2cf
<4>[  100.949645]  state_store+0x6c/0xd0
<4>[  100.949647]  kernfs_fop_write_iter+0x194/0x250
<4>[  100.949650]  vfs_write+0x254/0x550
<4>[  100.949654]  ksys_write+0x71/0xe0
<4>[  100.949656]  do_syscall_64+0x97/0x3d0
<4>[  100.949658]  ? __lock_acquire+0x469/0x2200
<4>[  100.949662]  ? __handle_mm_fault+0xaa7/0xf70
<4>[  100.949665]  ? lock_acquire+0xc9/0x2d0
<4>[  100.949667]  ? find_held_lock+0x2b/0x80
<4>[  100.949669]  ? rcu_read_unlock+0x17/0x60
<4>[  100.949672]  ? lock_release+0xd1/0x2a0
<4>[  100.949674]  ? find_held_lock+0x2b/0x80
<4>[  100.949676]  ? exc_page_fault+0x90/0x240
<4>[  100.949678]  ? lock_release+0xd1/0x2a0
<4>[  100.949681]  ? do_user_addr_fault+0x36e/0x690
<4>[  100.949684]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
<4>[  100.949686]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
<4>[  100.949688] RIP: 0033:0x7f076a199687
<4>[  100.949690] Code: 48 89 fa 4c 89 df e8 58 b3 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
Oops#1 Part2
<4>[  100.949691] RSP: 002b:00007ffd3a7a3990 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
<4>[  100.949693] RAX: ffffffffffffffda RBX: 00007f076a109100 RCX: 00007f076a199687
<4>[  100.949694] RDX: 0000000000000003 RSI: 0000000008d3e090 RDI: 0000000000000004
<4>[  100.949694] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
<4>[  100.949695] R10: 0000000000000000 R11: 0000000000000202 R12: 00007f076a109068
<4>[  100.949696] R13: 0000000000000004 R14: 0000000000a7e4f0 R15: 0000000000a50af8
<4>[  100.949700]  </TASK>
<4>[  100.949700] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc ext4 mbcache jbd2 nls_ascii nls_cp437 vfat fat snd_acp3x_rn snd_soc_dmic snd_acp3x_pdm_dma snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led snd_soc_core snd_compress snd_hda_codec_realtek iwlmvm snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi intel_rapl_msr uvcvideo snd_acp_pci mac80211 btusb snd_hda_intel intel_rapl_common videobuf2_vmalloc snd_amd_acpi_mach btrtl snd_intel_dspcfg videobuf2_memops libarc4 kvm_amd snd_acp_legacy_common btintel snd_hda_codec uvc videobuf2_v4l2 snd_hwdep snd_pci_acp6x btbcm kvm videodev snd_hda_core snd_pci_acp5x btmtk
Oops#1 Part1
<4>[  100.949738]  iwlwifi snd_rn_pci_acp3x videobuf2_common snd_pcm hp_wmi bluetooth irqbypass sg snd_acp_config mc snd_timer platform_profile rapl cfg80211 snd_soc_acpi pcspkr sparse_keymap snd wmi_bmof ee1004 snd_pci_acp3x soundcore k10temp ccp rfkill battery ac evdev joydev acpi_tad amd_pmc msr parport_pc ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi btrfs blake2b_generic xor raid6_pq dm_crypt dm_mod sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched hid_multitouch drm_display_helper hid_generic nvme xhci_pci drm_kms_helper ucsi_acpi sp5100_tco typec_ucsi ghash_clmulni_intel cec i2c_hid_acpi nvme_core xhci_hcd watchdog roles sha512_ssse3 rc_core amd_sfh i2c_hid nvme_keyring usbcore i2c_piix4 typec video aesni_intel serio_raw crc16 hid nvme_auth i2c_smbus fan usb_common drm button wmi
<4>[  100.949784] ---[ end trace 0000000000000000 ]---

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 10:17             ` Chris Bainbridge
@ 2025-06-03 10:29               ` Rafael J. Wysocki
  2025-06-03 10:30                 ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 10:29 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Rafael J. Wysocki, Mario Limonciello, Rafael J. Wysocki, Linux PM,
	LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan, amd-gfx

On Tue, Jun 3, 2025 at 12:17 PM Chris Bainbridge
<chris.bainbridge@gmail.com> wrote:
>
> On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> >
> > Chris, please check if the attached patch helps.  I'm going to post it
> > as a fix anyway later today, but it would be good to verify that it is
> > sufficient.
>
> This did not fix my test case, pstore crash log was:

OK, so can you please enable PM debug messages:

# echo 1 > /sys/power/pm_debug/messages

and enabled dynamic debug in drivers/base/power/main.c:

# echo "file drivers/base/power/main.c +p" > /proc/dynamic_debug/control

repeat the test and capture the log?

> <6>[  100.690222] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> <6>[  100.690392] printk: Suspending console(s) (use no_console_suspend to debug)
> <7>[  100.949462] PM: suspend of devices aborted after 1.796 msecs
> <7>[  100.949469] PM: start suspend of devices aborted after 258.160 msecs
> <3>[  100.949472] PM: Some devices failed to suspend, or early wake event detected
> <4>[  100.949565]  slab kmalloc-cg-4k start ffff916fede97000 pointer offset 1936 size 4096
> <3>[  100.949589] list_add corruption. prev->next should be next (ffffffff8f877180), but was ffff916f8ed40998. (prev=ffff916fede97790).
> <4>[  100.949600] ------------[ cut here ]------------
> <2>[  100.949601] kernel BUG at lib/list_debug.c:32!
> <4>[  100.949607] Oops: invalid opcode: 0000 [#1] SMP
> <4>[  100.949610] CPU: 13 UID: 0 PID: 3703 Comm: amd_s2idle.py.o Not tainted 6.15.0-09119-g98079dc6057f #438 PREEMPT(voluntary)
> <4>[  100.949613] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> <4>[  100.949614] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
> <4>[  100.949619] Code: 98 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 69 c6 c5 ff 48 8b 34 24 48 c7 c7 30 53 40 8f 48 8b 16 48 89 f1 48 89 de e8 50 98 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
> <4>[  100.949621] RSP: 0018:ffffa0f6c715fb68 EFLAGS: 00010246
> <4>[  100.949622] RAX: 0000000000000075 RBX: ffffffff8f877180 RCX: 0000000000000027
> <4>[  100.949623] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff91724689e180
> <4>[  100.949624] RBP: ffffffff8f876140 R08: 0000000000000001 R09: 0000000000000000
> <4>[  100.949625] R10: 0000000000000001 R11: 0000000000000006 R12: 0000000000000010
> Oops#1 Part3
> <4>[  100.949626] R13: 000000177d0d8fb9 R14: ffff916fede97790 R15: ffff916f8e564820
> <4>[  100.949627] FS:  00007f076a109100(0000) GS:ffff9172b67c7000(0000) knlGS:0000000000000000
> <4>[  100.949628] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4>[  100.949629] CR2: 00007fa8ce10f61c CR3: 00000001b80bb000 CR4: 0000000000f50ef0
> <4>[  100.949630] PKRU: 55555554
> <4>[  100.949630] Call Trace:
> <4>[  100.949631]  <TASK>
> <4>[  100.949632]  dpm_resume+0x139/0x350
> <4>[  100.949636]  dpm_resume_end+0x11/0x20
> <4>[  100.949639]  suspend_devices_and_enter+0x18e/0x9f0
> <4>[  100.949642]  pm_suspend.cold+0x273/0x2cf
> <4>[  100.949645]  state_store+0x6c/0xd0
> <4>[  100.949647]  kernfs_fop_write_iter+0x194/0x250
> <4>[  100.949650]  vfs_write+0x254/0x550
> <4>[  100.949654]  ksys_write+0x71/0xe0
> <4>[  100.949656]  do_syscall_64+0x97/0x3d0
> <4>[  100.949658]  ? __lock_acquire+0x469/0x2200
> <4>[  100.949662]  ? __handle_mm_fault+0xaa7/0xf70
> <4>[  100.949665]  ? lock_acquire+0xc9/0x2d0
> <4>[  100.949667]  ? find_held_lock+0x2b/0x80
> <4>[  100.949669]  ? rcu_read_unlock+0x17/0x60
> <4>[  100.949672]  ? lock_release+0xd1/0x2a0
> <4>[  100.949674]  ? find_held_lock+0x2b/0x80
> <4>[  100.949676]  ? exc_page_fault+0x90/0x240
> <4>[  100.949678]  ? lock_release+0xd1/0x2a0
> <4>[  100.949681]  ? do_user_addr_fault+0x36e/0x690
> <4>[  100.949684]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
> <4>[  100.949686]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> <4>[  100.949688] RIP: 0033:0x7f076a199687
> <4>[  100.949690] Code: 48 89 fa 4c 89 df e8 58 b3 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
> Oops#1 Part2
> <4>[  100.949691] RSP: 002b:00007ffd3a7a3990 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> <4>[  100.949693] RAX: ffffffffffffffda RBX: 00007f076a109100 RCX: 00007f076a199687
> <4>[  100.949694] RDX: 0000000000000003 RSI: 0000000008d3e090 RDI: 0000000000000004
> <4>[  100.949694] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
> <4>[  100.949695] R10: 0000000000000000 R11: 0000000000000202 R12: 00007f076a109068
> <4>[  100.949696] R13: 0000000000000004 R14: 0000000000a7e4f0 R15: 0000000000a50af8
> <4>[  100.949700]  </TASK>
> <4>[  100.949700] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc ext4 mbcache jbd2 nls_ascii nls_cp437 vfat fat snd_acp3x_rn snd_soc_dmic snd_acp3x_pdm_dma snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led snd_soc_core snd_compress snd_hda_codec_realtek iwlmvm snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi intel_rapl_msr uvcvideo snd_acp_pci mac80211 btusb snd_hda_intel intel_rapl_common videobuf2_vmalloc snd_amd_acpi_mach btrtl snd_intel_dspcfg videobuf2_memops libarc4 kvm_amd snd_acp_legacy_common btintel snd_hda_codec uvc videobuf2_v4l2 snd_hwdep snd_pci_acp6x btbcm kvm videodev snd_hda_core snd_pci_acp5x btmtk
> Oops#1 Part1
> <4>[  100.949738]  iwlwifi snd_rn_pci_acp3x videobuf2_common snd_pcm hp_wmi bluetooth irqbypass sg snd_acp_config mc snd_timer platform_profile rapl cfg80211 snd_soc_acpi pcspkr sparse_keymap snd wmi_bmof ee1004 snd_pci_acp3x soundcore k10temp ccp rfkill battery ac evdev joydev acpi_tad amd_pmc msr parport_pc ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi btrfs blake2b_generic xor raid6_pq dm_crypt dm_mod sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched hid_multitouch drm_display_helper hid_generic nvme xhci_pci drm_kms_helper ucsi_acpi sp5100_tco typec_ucsi ghash_clmulni_intel cec i2c_hid_acpi nvme_core xhci_hcd watchdog roles sha512_ssse3 rc_core amd_sfh i2c_hid nvme_keyring usbcore i2c_piix4 typec video aesni_intel serio_raw crc16 hid nvme_auth i2c_smbus fan usb_common drm button wmi
> <4>[  100.949784] ---[ end trace 0000000000000000 ]---

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 10:29               ` Rafael J. Wysocki
@ 2025-06-03 10:30                 ` Rafael J. Wysocki
  2025-06-03 11:37                   ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 10:30 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

On Tue, Jun 3, 2025 at 12:29 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Tue, Jun 3, 2025 at 12:17 PM Chris Bainbridge
> <chris.bainbridge@gmail.com> wrote:
> >
> > On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> > >
> > > Chris, please check if the attached patch helps.  I'm going to post it
> > > as a fix anyway later today, but it would be good to verify that it is
> > > sufficient.
> >
> > This did not fix my test case, pstore crash log was:
>
> OK, so can you please enable PM debug messages:
>
> # echo 1 > /sys/power/pm_debug/messages

This should be

# echo 1 > /sys/power/pm_debug_messages

sorry.

> and enabled dynamic debug in drivers/base/power/main.c:
>
> # echo "file drivers/base/power/main.c +p" > /proc/dynamic_debug/control
>
> repeat the test and capture the log?
>
> > <6>[  100.690222] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
> > <6>[  100.690392] printk: Suspending console(s) (use no_console_suspend to debug)
> > <7>[  100.949462] PM: suspend of devices aborted after 1.796 msecs
> > <7>[  100.949469] PM: start suspend of devices aborted after 258.160 msecs
> > <3>[  100.949472] PM: Some devices failed to suspend, or early wake event detected
> > <4>[  100.949565]  slab kmalloc-cg-4k start ffff916fede97000 pointer offset 1936 size 4096
> > <3>[  100.949589] list_add corruption. prev->next should be next (ffffffff8f877180), but was ffff916f8ed40998. (prev=ffff916fede97790).
> > <4>[  100.949600] ------------[ cut here ]------------
> > <2>[  100.949601] kernel BUG at lib/list_debug.c:32!
> > <4>[  100.949607] Oops: invalid opcode: 0000 [#1] SMP
> > <4>[  100.949610] CPU: 13 UID: 0 PID: 3703 Comm: amd_s2idle.py.o Not tainted 6.15.0-09119-g98079dc6057f #438 PREEMPT(voluntary)
> > <4>[  100.949613] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
> > <4>[  100.949614] RIP: 0010:__list_add_valid_or_report+0x90/0xa0
> > <4>[  100.949619] Code: 98 8a ff 0f 0b 48 89 f7 48 89 34 24 e8 69 c6 c5 ff 48 8b 34 24 48 c7 c7 30 53 40 8f 48 8b 16 48 89 f1 48 89 de e8 50 98 8a ff <0f> 0b 90 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 54
> > <4>[  100.949621] RSP: 0018:ffffa0f6c715fb68 EFLAGS: 00010246
> > <4>[  100.949622] RAX: 0000000000000075 RBX: ffffffff8f877180 RCX: 0000000000000027
> > <4>[  100.949623] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff91724689e180
> > <4>[  100.949624] RBP: ffffffff8f876140 R08: 0000000000000001 R09: 0000000000000000
> > <4>[  100.949625] R10: 0000000000000001 R11: 0000000000000006 R12: 0000000000000010
> > Oops#1 Part3
> > <4>[  100.949626] R13: 000000177d0d8fb9 R14: ffff916fede97790 R15: ffff916f8e564820
> > <4>[  100.949627] FS:  00007f076a109100(0000) GS:ffff9172b67c7000(0000) knlGS:0000000000000000
> > <4>[  100.949628] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > <4>[  100.949629] CR2: 00007fa8ce10f61c CR3: 00000001b80bb000 CR4: 0000000000f50ef0
> > <4>[  100.949630] PKRU: 55555554
> > <4>[  100.949630] Call Trace:
> > <4>[  100.949631]  <TASK>
> > <4>[  100.949632]  dpm_resume+0x139/0x350
> > <4>[  100.949636]  dpm_resume_end+0x11/0x20
> > <4>[  100.949639]  suspend_devices_and_enter+0x18e/0x9f0
> > <4>[  100.949642]  pm_suspend.cold+0x273/0x2cf
> > <4>[  100.949645]  state_store+0x6c/0xd0
> > <4>[  100.949647]  kernfs_fop_write_iter+0x194/0x250
> > <4>[  100.949650]  vfs_write+0x254/0x550
> > <4>[  100.949654]  ksys_write+0x71/0xe0
> > <4>[  100.949656]  do_syscall_64+0x97/0x3d0
> > <4>[  100.949658]  ? __lock_acquire+0x469/0x2200
> > <4>[  100.949662]  ? __handle_mm_fault+0xaa7/0xf70
> > <4>[  100.949665]  ? lock_acquire+0xc9/0x2d0
> > <4>[  100.949667]  ? find_held_lock+0x2b/0x80
> > <4>[  100.949669]  ? rcu_read_unlock+0x17/0x60
> > <4>[  100.949672]  ? lock_release+0xd1/0x2a0
> > <4>[  100.949674]  ? find_held_lock+0x2b/0x80
> > <4>[  100.949676]  ? exc_page_fault+0x90/0x240
> > <4>[  100.949678]  ? lock_release+0xd1/0x2a0
> > <4>[  100.949681]  ? do_user_addr_fault+0x36e/0x690
> > <4>[  100.949684]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
> > <4>[  100.949686]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> > <4>[  100.949688] RIP: 0033:0x7f076a199687
> > <4>[  100.949690] Code: 48 89 fa 4c 89 df e8 58 b3 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
> > Oops#1 Part2
> > <4>[  100.949691] RSP: 002b:00007ffd3a7a3990 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> > <4>[  100.949693] RAX: ffffffffffffffda RBX: 00007f076a109100 RCX: 00007f076a199687
> > <4>[  100.949694] RDX: 0000000000000003 RSI: 0000000008d3e090 RDI: 0000000000000004
> > <4>[  100.949694] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
> > <4>[  100.949695] R10: 0000000000000000 R11: 0000000000000202 R12: 00007f076a109068
> > <4>[  100.949696] R13: 0000000000000004 R14: 0000000000a7e4f0 R15: 0000000000a50af8
> > <4>[  100.949700]  </TASK>
> > <4>[  100.949700] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc ext4 mbcache jbd2 nls_ascii nls_cp437 vfat fat snd_acp3x_rn snd_soc_dmic snd_acp3x_pdm_dma snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_ctl_led snd_soc_core snd_compress snd_hda_codec_realtek iwlmvm snd_pci_ps snd_hda_codec_generic snd_soc_acpi_amd_match snd_hda_scodec_component snd_rpl_pci_acp6x snd_hda_codec_hdmi intel_rapl_msr uvcvideo snd_acp_pci mac80211 btusb snd_hda_intel intel_rapl_common videobuf2_vmalloc snd_amd_acpi_mach btrtl snd_intel_dspcfg videobuf2_memops libarc4 kvm_amd snd_acp_legacy_common btintel snd_hda_codec uvc videobuf2_v4l2 snd_hwdep snd_pci_acp6x btbcm kvm videodev snd_hda_core snd_pci_acp5x btmtk
> > Oops#1 Part1
> > <4>[  100.949738]  iwlwifi snd_rn_pci_acp3x videobuf2_common snd_pcm hp_wmi bluetooth irqbypass sg snd_acp_config mc snd_timer platform_profile rapl cfg80211 snd_soc_acpi pcspkr sparse_keymap snd wmi_bmof ee1004 snd_pci_acp3x soundcore k10temp ccp rfkill battery ac evdev joydev acpi_tad amd_pmc msr parport_pc ppdev lp parport nvme_fabrics efi_pstore configfs nfnetlink efivarfs ip_tables x_tables autofs4 crc32c_cryptoapi btrfs blake2b_generic xor raid6_pq dm_crypt dm_mod sd_mod uas usb_storage scsi_mod scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_panel_backlight_quirks drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched hid_multitouch drm_display_helper hid_generic nvme xhci_pci drm_kms_helper ucsi_acpi sp5100_tco typec_ucsi ghash_clmulni_intel cec i2c_hid_acpi nvme_core xhci_hcd watchdog roles sha512_ssse3 rc_core amd_sfh i2c_hid nvme_keyring usbcore i2c_piix4 typec video aesni_intel serio_raw crc16 hid nvme_auth i2c_smbus fan usb_common drm button wmi
> > <4>[  100.949784] ---[ end trace 0000000000000000 ]---

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 10:30                 ` Rafael J. Wysocki
@ 2025-06-03 11:37                   ` Rafael J. Wysocki
  2025-06-03 11:39                     ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 11:37 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

On Tue, Jun 3, 2025 at 12:30 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Tue, Jun 3, 2025 at 12:29 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Tue, Jun 3, 2025 at 12:17 PM Chris Bainbridge
> > <chris.bainbridge@gmail.com> wrote:
> > >
> > > On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> > > >
> > > > Chris, please check if the attached patch helps.  I'm going to post it
> > > > as a fix anyway later today, but it would be good to verify that it is
> > > > sufficient.
> > >
> > > This did not fix my test case, pstore crash log was:
> >
> > OK, so can you please enable PM debug messages:
> >
> > # echo 1 > /sys/power/pm_debug/messages
>
> This should be
>
> # echo 1 > /sys/power/pm_debug_messages
>
> sorry.
>
> > and enabled dynamic debug in drivers/base/power/main.c:
> >
> > # echo "file drivers/base/power/main.c +p" > /proc/dynamic_debug/control
> >
> > repeat the test and capture the log?

Actually, no need to do this, there is an obvious bug:
list_splice_init() should be used instead of list_splice() when the
emptied list is going to be used again.  Ugh.

Please check if the attached patch along with the previous one makes
the issue go away entirely.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 11:37                   ` Rafael J. Wysocki
@ 2025-06-03 11:39                     ` Rafael J. Wysocki
  2025-06-03 12:14                       ` Chris Bainbridge
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 11:39 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

[-- Attachment #1: Type: text/plain, Size: 1453 bytes --]

On Tue, Jun 3, 2025 at 1:37 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Tue, Jun 3, 2025 at 12:30 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Tue, Jun 3, 2025 at 12:29 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >
> > > On Tue, Jun 3, 2025 at 12:17 PM Chris Bainbridge
> > > <chris.bainbridge@gmail.com> wrote:
> > > >
> > > > On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> > > > >
> > > > > Chris, please check if the attached patch helps.  I'm going to post it
> > > > > as a fix anyway later today, but it would be good to verify that it is
> > > > > sufficient.
> > > >
> > > > This did not fix my test case, pstore crash log was:
> > >
> > > OK, so can you please enable PM debug messages:
> > >
> > > # echo 1 > /sys/power/pm_debug/messages
> >
> > This should be
> >
> > # echo 1 > /sys/power/pm_debug_messages
> >
> > sorry.
> >
> > > and enabled dynamic debug in drivers/base/power/main.c:
> > >
> > > # echo "file drivers/base/power/main.c +p" > /proc/dynamic_debug/control
> > >
> > > repeat the test and capture the log?
>
> Actually, no need to do this, there is an obvious bug:
> list_splice_init() should be used instead of list_splice() when the
> emptied list is going to be used again.  Ugh.
>
> Please check if the attached patch along with the previous one makes
> the issue go away entirely.

Really attached this time, sorry.

[-- Attachment #2: pm-sleep-fix-error-paths.patch --]
[-- Type: text/x-patch, Size: 897 bytes --]

---
 drivers/base/power/main.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1458,7 +1458,7 @@
 			 * Move all devices to the target list to resume them
 			 * properly.
 			 */
-			list_splice(&dpm_late_early_list, &dpm_noirq_list);
+			list_splice_init(&dpm_late_early_list, &dpm_noirq_list);
 			break;
 		}
 	}
@@ -1660,7 +1660,7 @@
 			 * Move all devices to the target list to resume them
 			 * properly.
 			 */
-			list_splice(&dpm_suspended_list, &dpm_late_early_list);
+			list_splice_init(&dpm_suspended_list, &dpm_late_early_list);
 			break;
 		}
 	}
@@ -1953,7 +1953,7 @@
 			 * Move all devices to the target list to resume them
 			 * properly.
 			 */
-			list_splice(&dpm_prepared_list, &dpm_suspended_list);
+			list_splice_init(&dpm_prepared_list, &dpm_suspended_list);
 			break;
 		}
 	}

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 11:39                     ` Rafael J. Wysocki
@ 2025-06-03 12:14                       ` Chris Bainbridge
  2025-06-03 12:23                         ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Chris Bainbridge @ 2025-06-03 12:14 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

On Tue, Jun 03, 2025 at 01:39:01PM +0200, Rafael J. Wysocki wrote:
> On Tue, Jun 3, 2025 at 1:37 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Tue, Jun 3, 2025 at 12:30 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >
> > > On Tue, Jun 3, 2025 at 12:29 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > > >
> > > > On Tue, Jun 3, 2025 at 12:17 PM Chris Bainbridge
> > > > <chris.bainbridge@gmail.com> wrote:
> > > > >
> > > > > On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> > > > > >
> > > > > > Chris, please check if the attached patch helps.  I'm going to post it
> > > > > > as a fix anyway later today, but it would be good to verify that it is
> > > > > > sufficient.
> > > > >
> > > > > This did not fix my test case, pstore crash log was:
> > > >
> > > > OK, so can you please enable PM debug messages:
> > > >
> > > > # echo 1 > /sys/power/pm_debug/messages
> > >
> > > This should be
> > >
> > > # echo 1 > /sys/power/pm_debug_messages
> > >
> > > sorry.
> > >
> > > > and enabled dynamic debug in drivers/base/power/main.c:
> > > >
> > > > # echo "file drivers/base/power/main.c +p" > /proc/dynamic_debug/control
> > > >
> > > > repeat the test and capture the log?
> >
> > Actually, no need to do this, there is an obvious bug:
> > list_splice_init() should be used instead of list_splice() when the
> > emptied list is going to be used again.  Ugh.
> >
> > Please check if the attached patch along with the previous one makes
> > the issue go away entirely.
> 
> Really attached this time, sorry.

> ---
>  drivers/base/power/main.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> --- a/drivers/base/power/main.c
> +++ b/drivers/base/power/main.c
> @@ -1458,7 +1458,7 @@
>  			 * Move all devices to the target list to resume them
>  			 * properly.
>  			 */
> -			list_splice(&dpm_late_early_list, &dpm_noirq_list);
> +			list_splice_init(&dpm_late_early_list, &dpm_noirq_list);
>  			break;
>  		}
>  	}
> @@ -1660,7 +1660,7 @@
>  			 * Move all devices to the target list to resume them
>  			 * properly.
>  			 */
> -			list_splice(&dpm_suspended_list, &dpm_late_early_list);
> +			list_splice_init(&dpm_suspended_list, &dpm_late_early_list);
>  			break;
>  		}
>  	}
> @@ -1953,7 +1953,7 @@
>  			 * Move all devices to the target list to resume them
>  			 * properly.
>  			 */
> -			list_splice(&dpm_prepared_list, &dpm_suspended_list);
> +			list_splice_init(&dpm_prepared_list, &dpm_suspended_list);
>  			break;
>  		}
>  	}

This patch does fix the list corruption, but the "Unbalanced
pm_runtime_enable" still occurs:

[  402.894024] PM: suspend entry (s2idle)
[  403.035176] Filesystems sync: 0.141 seconds
[  403.038710] Freezing user space processes
[  403.041950] Freezing user space processes completed (elapsed 0.003 seconds)
[  403.041991] OOM killer disabled.
[  403.041994] Freezing remaining freezable tasks
[  403.043386] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  403.043533] printk: Suspending console(s) (use no_console_suspend to debug)
[  403.300363] snd_hda_codec_hdmi hdaudioC0D0: PM: direct-complete suspend driver flags: 0
[  403.300388] dummy 3-0037: PM: direct-complete suspend driver flags: 0
[  403.300419] dummy 3-0036: PM: direct-complete suspend driver flags: 0
[  403.300450] scsi_device 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  403.300480] scsi_host host0: PM: direct-complete suspend driver flags: 0
[  403.300493]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.300525]  ep_82: PM: direct-complete suspend driver flags: 0
[  403.300556]  ep_01: PM: direct-complete suspend driver flags: 0
[  403.300574] i2c i2c-8: PM: direct-complete suspend driver flags: 0
[  403.300590] i2c i2c-7: PM: direct-complete suspend driver flags: 0
[  403.300607] i2c i2c-6: PM: direct-complete suspend driver flags: 0
[  403.300623] i2c i2c-5: PM: direct-complete suspend driver flags: 0
[  403.300640] i2c i2c-4: PM: direct-complete suspend driver flags: 0
[  403.300656]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301227]  ep_04: PM: direct-complete suspend driver flags: 0
[  403.301730] net lo: PM: direct-complete suspend driver flags: 0
[  403.301906]  ep_84: PM: direct-complete suspend driver flags: 0
[  403.301909]  ep_03: PM: direct-complete suspend driver flags: 0
[  403.301910]  ep_83: PM: direct-complete suspend driver flags: 0
[  403.301913]  ep_02: PM: direct-complete suspend driver flags: 0
[  403.301918]  ep_82: PM: direct-complete suspend driver flags: 0
[  403.301921]  ep_01: PM: direct-complete suspend driver flags: 0
[  403.301926]  ep_81: PM: direct-complete suspend driver flags: 0
[  403.301928]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301929]  ep_83: PM: direct-complete suspend driver flags: 0
[  403.301929]  ep_03: PM: direct-complete suspend driver flags: 0
[  403.301932]  ep_82: PM: direct-complete suspend driver flags: 0
[  403.301932]  ep_02: PM: direct-complete suspend driver flags: 0
[  403.301933]  ep_81: PM: direct-complete suspend driver flags: 0
[  403.301937]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301940] uvcvideo 1-3:1.1: PM: direct-complete suspend driver flags: 0
[  403.301943]  ep_87: PM: direct-complete suspend driver flags: 0
[  403.301944]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301944]  ep_81: PM: direct-complete suspend driver flags: 0
[  403.301946]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301947]  ep_81: PM: direct-complete suspend driver flags: 0
[  403.301954]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301955]  ep_81: PM: direct-complete suspend driver flags: 0
[  403.301957] bdi 0:64: PM: direct-complete suspend driver flags: 0
[  403.301960]  ep_00: PM: direct-complete suspend driver flags: 0
[  403.301963]  ep_81: PM: direct-complete suspend driver flags: 0
[  403.301971] i2c i2c-2: PM: direct-complete suspend driver flags: 0
[  403.301972] i2c i2c-1: PM: direct-complete suspend driver flags: 0
[  403.301972] pcie_bwctrl 0000:00:08.1:pcie010: PM: direct-complete suspend driver flags: 0
[  403.301973] pcie_pme 0000:00:08.1:pcie001: PM: direct-complete suspend driver flags: 0
[  403.301974] pcie_bwctrl 0000:00:02.4:pcie010: PM: direct-complete suspend driver flags: 0
[  403.301976] pcie_pme 0000:00:02.4:pcie001: PM: direct-complete suspend driver flags: 0
[  403.301978] pcie_bwctrl 0000:00:02.2:pcie010: PM: direct-complete suspend driver flags: 0
[  403.301982] pcie_pme 0000:00:02.2:pcie001: PM: direct-complete suspend driver flags: 0
[  403.301982] pcie_mp2_amd 0000:03:00.7: PM: bus suspend driver flags: 0
[  403.301983] ccp 0000:03:00.2: PM: bus suspend driver flags: 0
[  403.301985] pci 0000:00:18.7: PM: bus suspend driver flags: 0
[  403.301985] pci 0000:00:18.6: PM: bus suspend driver flags: 0
[  403.301987] pci 0000:00:18.5: PM: bus suspend driver flags: 0
[  403.301987] pci 0000:00:18.4: PM: bus suspend driver flags: 0
[  403.301988] pci 0000:00:18.2: PM: bus suspend driver flags: 0
[  403.301990] pci 0000:00:18.1: PM: bus suspend driver flags: 0
[  403.301991] pci 0000:00:18.0: PM: bus suspend driver flags: 0
[  403.301993] pci 0000:00:08.0: PM: bus suspend driver flags: 0
[  403.301995] pci 0000:00:02.0: PM: bus suspend driver flags: 0
[  403.301996] pci 0000:00:01.0: PM: bus suspend driver flags: 0
[  403.302040] sound seq: PM: direct-complete suspend driver flags: 0
[  403.302041] pci 0000:00:00.0: PM: bus suspend driver flags: 0
[  403.302049] net br-bd31abe76a1b: PM: direct-complete suspend driver flags: 0
[  403.302054] btusb 3-3:1.1: PM: direct-complete suspend driver flags: 0
[  403.302054] net lo: PM: direct-complete suspend driver flags: 0
[  403.302056] usb 1-4:1.0: PM: direct-complete suspend driver flags: 0
[  403.302306] net docker0: PM: direct-complete suspend driver flags: 0
[  403.302313] ptp ptp0: PM: direct-complete suspend driver flags: 0
[  403.302321]  port0.0: PM: direct-complete suspend driver flags: 0
[  403.302326]  4:variable_supply: PM: direct-complete suspend driver flags: 0
[  403.302332]  3:fixed_supply: PM: direct-complete suspend driver flags: 0
[  403.302339]  2:fixed_supply: PM: direct-complete suspend driver flags: 0
[  403.302343] usb 1-4: PM: type suspend driver flags: 0
[  403.302345]  1:fixed_supply: PM: direct-complete suspend driver flags: 0
[  403.302351]  sink-capabilities: PM: direct-complete suspend driver flags: 0
[  403.302355]  1:fixed_supply: PM: direct-complete suspend driver flags: 0
[  403.302358]  source-capabilities: PM: direct-complete suspend driver flags: 0
[  403.302364] vc vcsa6: PM: direct-complete suspend driver flags: 0
[  403.302366] usb usb2: PM: type suspend driver flags: 0
[  403.302370] vc vcsu6: PM: direct-complete suspend driver flags: 0
[  403.302377] vc vcs6: PM: direct-complete suspend driver flags: 0
[  403.302381] vc vcsa5: PM: direct-complete suspend driver flags: 0
[  403.302385] vc vcsu5: PM: direct-complete suspend driver flags: 0
[  403.302389] vc vcs5: PM: direct-complete suspend driver flags: 0
[  403.302393] vc vcsa4: PM: direct-complete suspend driver flags: 0
[  403.302397] vc vcsu4: PM: direct-complete suspend driver flags: 0
[  403.302401] vc vcs4: PM: direct-complete suspend driver flags: 0
[  403.302405] vc vcsa3: PM: direct-complete suspend driver flags: 0
[  403.302408] vc vcsu3: PM: direct-complete suspend driver flags: 0
[  403.302412] vc vcs3: PM: direct-complete suspend driver flags: 0
[  403.302416] vc vcsa2: PM: direct-complete suspend driver flags: 0
[  403.302420] vc vcsu2: PM: direct-complete suspend driver flags: 0
[  403.302423] vc vcs2: PM: direct-complete suspend driver flags: 0
[  403.302427] net lo: PM: direct-complete suspend driver flags: 0
[  403.302431] net lo: PM: direct-complete suspend driver flags: 0
[  403.302435] net wlp1s0: PM: direct-complete suspend driver flags: 0
[  403.302440] rfkill rfkill1: PM: class suspend driver flags: 0
[  403.303940] leds phy0-led: PM: class suspend driver flags: 0
[  403.303946] ieee80211 phy0: PM: class suspend driver flags: 0
[  403.303969]  card2: PM: direct-complete suspend driver flags: 0
[  403.303973]  card2: PM: direct-complete suspend driver flags: 0
[  403.303977] sound controlC2: PM: direct-complete suspend driver flags: 0
[  403.303981] sound pcmC2D0c: PM: type suspend driver flags: 0
[  403.303988]  acp3x-dmic-capture: PM: direct-complete suspend driver flags: 0
[  403.303992] acp_pdm_mach acp_pdm_mach.0: PM: bus suspend driver flags: 0
[  403.304187] wlp1s0: deauthenticating from d6:92:5e:eb:ee:15 by local choice (Reason: 3=DEAUTH_LEAVING)
[  403.304420]  card1: PM: direct-complete suspend driver flags: 0
[  403.304424]  card1: PM: direct-complete suspend driver flags: 0
[  403.304427] sound controlC1: PM: direct-complete suspend driver flags: 0
[  403.304431] input event10: PM: direct-complete suspend driver flags: 0
[  403.304434] input input14: PM: type suspend driver flags: 0
[  403.304445] input event9: PM: direct-complete suspend driver flags: 0
[  403.304450] input input13: PM: type suspend driver flags: 0
[  403.304454] sound hwC1D0: PM: direct-complete suspend driver flags: 0
[  403.304458] sound pcmC1D0c: PM: type suspend driver flags: 0
[  403.304463] sound pcmC1D0p: PM: type suspend driver flags: 0
[  403.304473]  card0: PM: direct-complete suspend driver flags: 0
[  403.304476]  card0: PM: direct-complete suspend driver flags: 0
[  403.304480]  mic: PM: direct-complete suspend driver flags: 0
[  403.304483]  speaker: PM: direct-complete suspend driver flags: 0
[  403.304487] sound ctl-led: PM: direct-complete suspend driver flags: 0
[  403.304490] faux_driver snd-soc-dummy: PM: direct-complete suspend driver flags: 0
[  403.304494] leds hda::mute: PM: class suspend driver flags: 0
[  403.305855] media media0: PM: direct-complete suspend driver flags: 0
[  403.305864] video4linux video1: PM: direct-complete suspend driver flags: 0
[  403.305864] snd_hda_codec_realtek hdaudioC1D0: PM: driver suspend driver flags: 0
[  403.305868] video4linux video0: PM: direct-complete suspend driver flags: 0
[  403.305907] snd_hda_intel 0000:03:00.6: PM: bus suspend driver flags: 0
[  403.306064] sound controlC0: PM: direct-complete suspend driver flags: 0
[  403.306068] input event8: PM: direct-complete suspend driver flags: 0
[  403.306074] input input12: PM: type suspend driver flags: 0
[  403.306081] sound hwC0D0: PM: direct-complete suspend driver flags: 0
[  403.306084] sound pcmC0D3p: PM: type suspend driver flags: 0
[  403.306093] uvcvideo 1-3:1.0: PM: direct-complete suspend driver flags: 0
[  403.306095] powercap intel-rapl:0:0: PM: direct-complete suspend driver flags: 0
[  403.306101] powercap intel-rapl:0: PM: direct-complete suspend driver flags: 0
[  403.306104] snd_hda_intel 0000:03:00.1: PM: bus suspend driver flags: 0
[  403.306108] powercap intel-rapl: PM: direct-complete suspend driver flags: 0
[  403.306113] hwmon hwmon8: PM: direct-complete suspend driver flags: 0
[  403.306122] thermal thermal_zone2: PM: direct-complete suspend driver flags: 0
[  403.306130] intel_rapl_msr intel_rapl_msr.0: PM: bus suspend driver flags: 0
[  403.306134] usb 1-3: PM: type suspend driver flags: 0
[  403.306136] misc kvm: PM: direct-complete suspend driver flags: 0
[  403.306140] usb_power_delivery pd0: PM: direct-complete suspend driver flags: 0
[  403.306144] typec port0: PM: direct-complete suspend driver flags: 0
[  403.306147] hwmon hwmon7: PM: direct-complete suspend driver flags: 0
[  403.306153] rfkill rfkill0: PM: class suspend driver flags: 0
[  403.306161] platform-profile platform-profile-0: PM: direct-complete suspend driver flags: 0
[  403.306165] hwmon hwmon6: PM: direct-complete suspend driver flags: 0
[  403.306168] usb usb1: PM: type suspend driver flags: 0
[  403.306172] hp-wmi hp-wmi: PM: bus suspend driver flags: 0
[  403.306178] input event7: PM: direct-complete suspend driver flags: 0
[  403.306180] usb 3-3: PM: type suspend driver flags: 0
[  403.306185] input input11: PM: type suspend driver flags: 0
[  403.306189] dmic-codec dmic-codec.0: PM: bus suspend driver flags: 0
[  403.306193] acp_rn_pdm_dma acp_rn_pdm_dma.0: PM: bus suspend driver flags: 0
[  403.306198] nvmem 3-0051: PM: direct-complete suspend driver flags: 0
[  403.306204] nvmem 3-0050: PM: direct-complete suspend driver flags: 0
[  403.306208] sound timer: PM: direct-complete suspend driver flags: 0
[  403.306212] scsi_generic sg0: PM: direct-complete suspend driver flags: 0
[  403.306215] platform regulatory.0: PM: bus suspend driver flags: 0
[  403.306219] event_source power_core: PM: direct-complete suspend driver flags: 0
[  403.306222] event_source power: PM: direct-complete suspend driver flags: 0
[  403.306225] watchdog watchdog0: PM: direct-complete suspend driver flags: 0
[  403.306226] snd_rn_pci_acp3x 0000:03:00.5: PM: bus suspend driver flags: 0
[  403.306228] misc watchdog: PM: direct-complete suspend driver flags: 0
[  403.306232] ee1004 3-0051: PM: direct-complete suspend driver flags: 0
[  403.306233] sp5100-tco sp5100-tco: PM: bus suspend driver flags: 0
[  403.306236] input event6: PM: direct-complete suspend driver flags: 0
[  403.306240] input input10: PM: type suspend driver flags: 0
[  403.306241] ee1004 3-0050: PM: direct-complete suspend driver flags: 0
[  403.306244] hwmon hwmon5: PM: direct-complete suspend driver flags: 0
[  403.306279] i2c i2c-3: PM: direct-complete suspend driver flags: 0
[  403.306299] piix4_smbus 0000:00:14.0: PM: bus suspend driver flags: 0
[  403.306453] hwmon hwmon4: PM: direct-complete suspend driver flags: 0
[  403.306455] k10temp 0000:00:18.3: PM: bus suspend driver flags: 0
[  403.306459] hwmon hwmon3: PM: direct-complete suspend driver flags: 0
[  403.306463] power_supply BAT0: PM: direct-complete suspend driver flags: 0
[  403.306466] misc rfkill: PM: direct-complete suspend driver flags: 0
[  403.306469] input event5: PM: direct-complete suspend driver flags: 0
[  403.306472] input event4: PM: direct-complete suspend driver flags: 0
[  403.306476] input event3: PM: direct-complete suspend driver flags: 0
[  403.306478] input event2: PM: direct-complete suspend driver flags: 0
[  403.306482] input event1: PM: direct-complete suspend driver flags: 0
[  403.306486] input event0: PM: direct-complete suspend driver flags: 0
[  403.306492] msr msr15: PM: direct-complete suspend driver flags: 0
[  403.306496] msr msr14: PM: direct-complete suspend driver flags: 0
[  403.306499] msr msr13: PM: direct-complete suspend driver flags: 0
[  403.306502] msr msr12: PM: direct-complete suspend driver flags: 0
[  403.306505] msr msr11: PM: direct-complete suspend driver flags: 0
[  403.306508] msr msr10: PM: direct-complete suspend driver flags: 0
[  403.306510] msr msr9: PM: direct-complete suspend driver flags: 0
[  403.306513] msr msr8: PM: direct-complete suspend driver flags: 0
[  403.306516] msr msr7: PM: direct-complete suspend driver flags: 0
[  403.306519] msr msr6: PM: direct-complete suspend driver flags: 0
[  403.306522] msr msr5: PM: direct-complete suspend driver flags: 0
[  403.306525] msr msr4: PM: direct-complete suspend driver flags: 0
[  403.306527] msr msr3: PM: direct-complete suspend driver flags: 0
[  403.306530] msr msr2: PM: direct-complete suspend driver flags: 0
[  403.306533] msr msr1: PM: direct-complete suspend driver flags: 0
[  403.306536] msr msr0: PM: direct-complete suspend driver flags: 0
[  403.306538] misc device-mapper: PM: direct-complete suspend driver flags: 0
[  403.306541] misc nvme-fabrics: PM: direct-complete suspend driver flags: 0
[  403.306545] nvme-fabrics ctl: PM: direct-complete suspend driver flags: 0
[  403.306548] misc autofs: PM: direct-complete suspend driver flags: 0
[  403.306551] bdi btrfs-1: PM: direct-complete suspend driver flags: 0
[  403.306554] block sda2: PM: direct-complete suspend driver flags: 0
[  403.306557] block sda1: PM: direct-complete suspend driver flags: 0
[  403.306560] bdi 8:0: PM: direct-complete suspend driver flags: 0
[  403.306564] block sda: PM: direct-complete suspend driver flags: 0
[  403.306567] scsi_disk 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  403.306570] bsg 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  403.306576] misc btrfs-control: PM: direct-complete suspend driver flags: 0
[  403.306580] workqueue scsi_tmf_0: PM: direct-complete suspend driver flags: 0
[  403.306584] vtconsole vtcon1: PM: direct-complete suspend driver flags: 0
[  403.306587] graphics fb0: PM: direct-complete suspend driver flags: 0
[  403.306591] drm_dp_aux_dev drm_dp_aux1: PM: direct-complete suspend driver flags: 0
[  403.306590] sd 0:0:0:0: PM: bus suspend driver flags: 0
[  403.306595] drm card0-DP-1: PM: direct-complete suspend driver flags: 0
[  403.306598] drm card0-HDMI-A-1: PM: direct-complete suspend driver flags: 0
[  403.306601] drm_dp_aux_dev drm_dp_aux0: PM: direct-complete suspend driver flags: 0
[  403.306604] backlight amdgpu_bl0: PM: class suspend driver flags: 0
[  403.307235] drm renderD128: PM: direct-complete suspend driver flags: 0
[  403.307238] hwmon hwmon2: PM: direct-complete suspend driver flags: 0
[  403.307243] kfd kfd: PM: direct-complete suspend driver flags: 0
[  403.307250] hidraw hidraw0: PM: direct-complete suspend driver flags: 0
[  403.307255] input mouse1: PM: direct-complete suspend driver flags: 0
[  403.307259] input input9: PM: type suspend driver flags: 0
[  403.307263] input mouse0: PM: direct-complete suspend driver flags: 0
[  403.307266] input input7: PM: type suspend driver flags: 0
[  403.307274] nvme-generic ng0n1: PM: direct-complete suspend driver flags: 0
[  403.307277] block nvme0n1p4: PM: direct-complete suspend driver flags: 0
[  403.307288] i2c_hid_acpi i2c-ELAN074E:00: PM: power domain suspend, may wakeup driver flags: 0
[  403.309132] block nvme0n1p3: PM: direct-complete suspend driver flags: 0
[  403.309138] block nvme0n1p2: PM: direct-complete suspend driver flags: 0
[  403.309142] block nvme0n1p1: PM: direct-complete suspend driver flags: 0
[  403.309146] bdi 259:0: PM: direct-complete suspend driver flags: 0
[  403.309152] block nvme0n1: PM: direct-complete suspend driver flags: 0
[  403.309158] hwmon hwmon1: PM: direct-complete suspend driver flags: 0
[  403.309163] nvme-subsystem nvme-subsys0: PM: direct-complete suspend driver flags: 0
[  403.309168] nvme nvme0: PM: direct-complete suspend driver flags: 0
[  403.309177] workqueue nvme-auth-wq: PM: direct-complete suspend driver flags: 0
[  403.309181] workqueue nvme-delete-wq: PM: direct-complete suspend driver flags: 0
[  403.309182] nvme 0000:02:00.0: PM: bus suspend driver flags: 0
[  403.309185] workqueue nvme-reset-wq: PM: direct-complete suspend driver flags: 0
[  403.309190] workqueue nvme-wq: PM: direct-complete suspend driver flags: 0
[  403.309195] input input3: PM: type suspend driver flags: 0
[  403.309202] thermal cooling_device16: PM: direct-complete suspend driver flags: 0
[  403.309207] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-4: PM: direct-complete suspend driver flags: 0
[  403.309212] wmi ABBC0F6A-8EA1-11D1-00A0-C90629100000: PM: direct-complete suspend driver flags: 0
[  403.309217] input input2: PM: type suspend driver flags: 0
[  403.309223] wmi_bus wmi_bus-PNP0C14:04: PM: direct-complete suspend driver flags: 0
[  403.309228] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-3: PM: direct-complete suspend driver flags: 0
[  403.309233] wmi 40D1BF71-A82D-4E59-A168-3985E03B2E87: PM: direct-complete suspend driver flags: 0
[  403.309237] wmi 431F16ED-0C2B-444C-B267-27DEB140CF9C: PM: direct-complete suspend driver flags: 0
[  403.309241] wmi 67C3371D-95A3-4C37-BB61-DD47B491DAAB: PM: direct-complete suspend driver flags: 0
[  403.309245] wmi D9F41781-F633-4400-9355-601770BEC510: PM: direct-complete suspend driver flags: 0
[  403.309250] wmi_bus wmi_bus-PNP0C14:03: PM: direct-complete suspend driver flags: 0
[  403.309255] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-2: PM: direct-complete suspend driver flags: 0
[  403.309259] wmi 1F13AB7F-6220-4210-8F8E-8BB5E71EE969: PM: direct-complete suspend driver flags: 0
[  403.309264] input input1: PM: type suspend driver flags: 0
[  403.309270] wmi_bus wmi_bus-PNP0C14:02: PM: direct-complete suspend driver flags: 0
[  403.309275] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-1: PM: direct-complete suspend driver flags: 0
[  403.309279] wmi A6FEA33E-DABF-46F5-BFC8-460D961BEC9F: PM: direct-complete suspend driver flags: 0
[  403.309284] wmi 2BC49DEF-7B15-4F05-8BB7-EE37B9547C0B: PM: direct-complete suspend driver flags: 0
[  403.309288] wmi_bus wmi_bus-PNP0C14:01: PM: direct-complete suspend driver flags: 0
[  403.309292] wmi 8232DE3D-663D-4327-A8F4-E293ADB9BF05: PM: direct-complete suspend driver flags: 0
[  403.309296] wmi 322F2028-0F84-4901-988E-015176049E2D: PM: direct-complete suspend driver flags: 0
[  403.309299] wmi 14EA9746-CE1F-4098-A0E0-7045CB4DA745: PM: direct-complete suspend driver flags: 0
[  403.309303] wmi 988D08E3-68F4-4C35-AF3E-6A1B8106F83C: PM: direct-complete suspend driver flags: 0
[  403.309306] wmi 2D114B49-2DFB-4130-B8FE-4A3C09E75133: PM: direct-complete suspend driver flags: 0
[  403.309310] wmi 1F4C91EB-DC5C-460B-951D-C7CB9B4B8D5E: PM: direct-complete suspend driver flags: 0
[  403.309313] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910: PM: direct-complete suspend driver flags: 0
[  403.309317] wmi 2B814318-4BE8-4707-9D84-A190A859B5D0: PM: direct-complete suspend driver flags: 0
[  403.309320] wmi 95F24279-4D7B-4334-9387-ACCDC67EF61C: PM: direct-complete suspend driver flags: 0
[  403.309324] wmi 5FB7F034-2C63-45E9-BE91-3D44E2C707E4: PM: direct-complete suspend driver flags: 0
[  403.309330] wmi_bus wmi_bus-PNP0C14:00: PM: direct-complete suspend driver flags: 0
[  403.309334] memory_tiering memory_tier4: PM: direct-complete suspend driver flags: 0
[  403.309338] misc cpu_dma_latency: PM: direct-complete suspend driver flags: 0
[  403.309341] platform microcode: PM: bus suspend driver flags: 0
[  403.309346] machinecheck machinecheck15: PM: direct-complete suspend driver flags: 0
[  403.309349] machinecheck machinecheck14: PM: direct-complete suspend driver flags: 0
[  403.309352] machinecheck machinecheck13: PM: direct-complete suspend driver flags: 0
[  403.309356] machinecheck machinecheck12: PM: direct-complete suspend driver flags: 0
[  403.309359] machinecheck machinecheck11: PM: direct-complete suspend driver flags: 0
[  403.309363] machinecheck machinecheck10: PM: direct-complete suspend driver flags: 0
[  403.309366] machinecheck machinecheck9: PM: direct-complete suspend driver flags: 0
[  403.309369] machinecheck machinecheck8: PM: direct-complete suspend driver flags: 0
[  403.309372] machinecheck machinecheck7: PM: direct-complete suspend driver flags: 0
[  403.309376] machinecheck machinecheck6: PM: direct-complete suspend driver flags: 0
[  403.309379] machinecheck machinecheck5: PM: direct-complete suspend driver flags: 0
[  403.309383] machinecheck machinecheck4: PM: direct-complete suspend driver flags: 0
[  403.309386] machinecheck machinecheck3: PM: direct-complete suspend driver flags: 0
[  403.309389] machinecheck machinecheck2: PM: direct-complete suspend driver flags: 0
[  403.309393] machinecheck machinecheck1: PM: direct-complete suspend driver flags: 0
[  403.309396] machinecheck machinecheck0: PM: direct-complete suspend driver flags: 0
[  403.309399]  machinecheck: PM: direct-complete suspend driver flags: 0
[  403.309402] leds input0::scrolllock: PM: class suspend driver flags: 0
[  403.309407] leds input0::capslock: PM: class suspend driver flags: 0
[  403.309411] leds input0::numlock: PM: class suspend driver flags: 0
[  403.309416] input input0: PM: type suspend driver flags: 0
[  403.309421] nvmem cmos_nvram0: PM: direct-complete suspend driver flags: 0
[  403.309425] alarmtimer alarmtimer.0.auto: PM: bus suspend, may wakeup driver flags: 0
[  403.310733] rtc rtc0: PM: class suspend driver flags: 0
[  403.310736] misc psaux: PM: direct-complete suspend driver flags: 0
[  403.310740] atkbd serio0: PM: bus suspend, may wakeup driver flags: 0
[  403.311262] i2c_designware AMDI0010:03: PM: power domain suspend driver flags: 6
[  403.315308] input mice: PM: direct-complete suspend driver flags: 0
[  403.315312] i8042 i8042: PM: bus suspend driver flags: 0
[  403.315325] misc udmabuf: PM: direct-complete suspend driver flags: 0
[  403.315328] dma_heap system: PM: direct-complete suspend driver flags: 0
[  403.315331] tpmrm tpmrm0: PM: direct-complete suspend driver flags: 0
[  403.315333] tpm tpm0: PM: direct-complete suspend driver flags: 0
[  403.315336] misc hpet: PM: direct-complete suspend driver flags: 0
[  403.315338] tty ttyS3: PM: direct-complete suspend driver flags: 0
[  403.315342] port serial8250:0.3: PM: driver suspend driver flags: 0
[  403.315345] tty ttyS2: PM: direct-complete suspend driver flags: 0
[  403.315348] port serial8250:0.2: PM: driver suspend driver flags: 0
[  403.315350] tty ttyS1: PM: direct-complete suspend driver flags: 0
[  403.315353] port serial8250:0.1: PM: driver suspend driver flags: 0
[  403.315356] tty ttyS0: PM: direct-complete suspend driver flags: 0
[  403.315358] port serial8250:0.0: PM: driver suspend driver flags: 0
[  403.315364] serial8250 serial8250: PM: bus suspend driver flags: 0
[  403.315368] tty ptmx: PM: direct-complete suspend driver flags: 0
[  403.315371] thermal thermal_zone1: PM: direct-complete suspend driver flags: 0
[  403.315373] hwmon hwmon0: PM: direct-complete suspend driver flags: 0
[  403.315376] thermal thermal_zone0: PM: direct-complete suspend driver flags: 0
[  403.315378] thermal cooling_device15: PM: direct-complete suspend driver flags: 0
[  403.315380] thermal cooling_device14: PM: direct-complete suspend driver flags: 0
[  403.315382] thermal cooling_device13: PM: direct-complete suspend driver flags: 0
[  403.315385] thermal cooling_device12: PM: direct-complete suspend driver flags: 0
[  403.315387] thermal cooling_device11: PM: direct-complete suspend driver flags: 0
[  403.315389] thermal cooling_device10: PM: direct-complete suspend driver flags: 0
[  403.315392] thermal cooling_device9: PM: direct-complete suspend driver flags: 0
[  403.315394] thermal cooling_device8: PM: direct-complete suspend driver flags: 0
[  403.315396] thermal cooling_device7: PM: direct-complete suspend driver flags: 0
[  403.315398] thermal cooling_device6: PM: direct-complete suspend driver flags: 0
[  403.315401] thermal cooling_device5: PM: direct-complete suspend driver flags: 0
[  403.315403] thermal cooling_device4: PM: direct-complete suspend driver flags: 0
[  403.315405] thermal cooling_device3: PM: direct-complete suspend driver flags: 0
[  403.315407] thermal cooling_device2: PM: direct-complete suspend driver flags: 0
[  403.315409] thermal cooling_device1: PM: direct-complete suspend driver flags: 0
[  403.315412] thermal cooling_device0: PM: direct-complete suspend driver flags: 0
[  403.315415] gpio gpiochip512: PM: direct-complete suspend driver flags: 0
[  403.315417] gpio gpiochip0: PM: direct-complete suspend driver flags: 0
[  403.315420] misc fuse: PM: direct-complete suspend driver flags: 0
[  403.315422] misc userfaultfd: PM: direct-complete suspend driver flags: 0
[  403.315425] event_source software: PM: direct-complete suspend driver flags: 0
[  403.315427] event_source tracepoint: PM: direct-complete suspend driver flags: 0
[  403.315430] event_source kprobe: PM: direct-complete suspend driver flags: 0
[  403.315432] event_source uprobe: PM: direct-complete suspend driver flags: 0
[  403.315434] event_source breakpoint: PM: direct-complete suspend driver flags: 0
[  403.315436] event_source cpu: PM: direct-complete suspend driver flags: 0
[  403.315439] event_source ibs_fetch: PM: direct-complete suspend driver flags: 0
[  403.315441] event_source ibs_op: PM: direct-complete suspend driver flags: 0
[  403.315443] event_source amd_df: PM: direct-complete suspend driver flags: 0
[  403.315445] event_source amd_l3: PM: direct-complete suspend driver flags: 0
[  403.315448] event_source amd_iommu_0: PM: direct-complete suspend driver flags: 0
[  403.315452] event_source msr: PM: direct-complete suspend driver flags: 0
[  403.315456] clockevents broadcast: PM: direct-complete suspend driver flags: 0
[  403.315460] clockevents clockevent15: PM: direct-complete suspend driver flags: 0
[  403.315464] clockevents clockevent14: PM: direct-complete suspend driver flags: 0
[  403.315467] clockevents clockevent13: PM: direct-complete suspend driver flags: 0
[  403.315470] clockevents clockevent12: PM: direct-complete suspend driver flags: 0
[  403.315474] clockevents clockevent11: PM: direct-complete suspend driver flags: 0
[  403.315477] clockevents clockevent10: PM: direct-complete suspend driver flags: 0
[  403.315480] clockevents clockevent9: PM: direct-complete suspend driver flags: 0
[  403.315484] clockevents clockevent8: PM: direct-complete suspend driver flags: 0
[  403.315487] clockevents clockevent7: PM: direct-complete suspend driver flags: 0
[  403.315490] clockevents clockevent6: PM: direct-complete suspend driver flags: 0
[  403.315494] clockevents clockevent5: PM: direct-complete suspend driver flags: 0
[  403.315497] clockevents clockevent4: PM: direct-complete suspend driver flags: 0
[  403.315500] clockevents clockevent3: PM: direct-complete suspend driver flags: 0
[  403.315503] clockevents clockevent2: PM: direct-complete suspend driver flags: 0
[  403.315506] clockevents clockevent1: PM: direct-complete suspend driver flags: 0
[  403.315510] clockevents clockevent0: PM: direct-complete suspend driver flags: 0
[  403.315513]  clockevents: PM: direct-complete suspend driver flags: 0
[  403.315516] clocksource clocksource0: PM: direct-complete suspend driver flags: 0
[  403.315519]  clocksource: PM: direct-complete suspend driver flags: 0
[  403.315522] misc snapshot: PM: direct-complete suspend driver flags: 0
[  403.315526] pcspkr pcspkr: PM: bus suspend driver flags: 0
[  403.315596] iommu ivhd0: PM: direct-complete suspend driver flags: 0
[  403.315609] misc hw_random: PM: direct-complete suspend driver flags: 0
[  403.315616] tty tty63: PM: direct-complete suspend driver flags: 0
[  403.315617] pci 0000:00:00.2: PM: bus suspend driver flags: 0
[  403.315622] tty tty62: PM: direct-complete suspend driver flags: 0
[  403.315628] tty tty61: PM: direct-complete suspend driver flags: 0
[  403.315634] tty tty60: PM: direct-complete suspend driver flags: 0
[  403.315641] tty tty59: PM: direct-complete suspend driver flags: 0
[  403.315647] tty tty58: PM: direct-complete suspend driver flags: 0
[  403.315653] tty tty57: PM: direct-complete suspend driver flags: 0
[  403.315657] tty tty56: PM: direct-complete suspend driver flags: 0
[  403.315660] tty tty55: PM: direct-complete suspend driver flags: 0
[  403.315663] tty tty54: PM: direct-complete suspend driver flags: 0
[  403.315667] tty tty53: PM: direct-complete suspend driver flags: 0
[  403.315670] tty tty52: PM: direct-complete suspend driver flags: 0
[  403.315673] tty tty51: PM: direct-complete suspend driver flags: 0
[  403.315677] tty tty50: PM: direct-complete suspend driver flags: 0
[  403.315680] tty tty49: PM: direct-complete suspend driver flags: 0
[  403.315683] tty tty48: PM: direct-complete suspend driver flags: 0
[  403.315686] tty tty47: PM: direct-complete suspend driver flags: 0
[  403.315689] tty tty46: PM: direct-complete suspend driver flags: 0
[  403.315693] tty tty45: PM: direct-complete suspend driver flags: 0
[  403.315696] tty tty44: PM: direct-complete suspend driver flags: 0
[  403.315699] tty tty43: PM: direct-complete suspend driver flags: 0
[  403.315702] tty tty42: PM: direct-complete suspend driver flags: 0
[  403.315706] tty tty41: PM: direct-complete suspend driver flags: 0
[  403.315709] tty tty40: PM: direct-complete suspend driver flags: 0
[  403.315712] tty tty39: PM: direct-complete suspend driver flags: 0
[  403.315715] tty tty38: PM: direct-complete suspend driver flags: 0
[  403.315719] tty tty37: PM: direct-complete suspend driver flags: 0
[  403.315722] tty tty36: PM: direct-complete suspend driver flags: 0
[  403.315725] tty tty35: PM: direct-complete suspend driver flags: 0
[  403.315728] tty tty34: PM: direct-complete suspend driver flags: 0
[  403.315731] tty tty33: PM: direct-complete suspend driver flags: 0
[  403.315734] tty tty32: PM: direct-complete suspend driver flags: 0
[  403.315738] tty tty31: PM: direct-complete suspend driver flags: 0
[  403.315741] tty tty30: PM: direct-complete suspend driver flags: 0
[  403.315744] tty tty29: PM: direct-complete suspend driver flags: 0
[  403.315747] tty tty28: PM: direct-complete suspend driver flags: 0
[  403.315751] tty tty27: PM: direct-complete suspend driver flags: 0
[  403.315754] tty tty26: PM: direct-complete suspend driver flags: 0
[  403.315757] tty tty25: PM: direct-complete suspend driver flags: 0
[  403.315761] tty tty24: PM: direct-complete suspend driver flags: 0
[  403.315764] tty tty23: PM: direct-complete suspend driver flags: 0
[  403.315767] tty tty22: PM: direct-complete suspend driver flags: 0
[  403.315770] tty tty21: PM: direct-complete suspend driver flags: 0
[  403.315773] tty tty20: PM: direct-complete suspend driver flags: 0
[  403.315776] tty tty19: PM: direct-complete suspend driver flags: 0
[  403.315780] tty tty18: PM: direct-complete suspend driver flags: 0
[  403.315783] tty tty17: PM: direct-complete suspend driver flags: 0
[  403.315786] tty tty16: PM: direct-complete suspend driver flags: 0
[  403.315789] tty tty15: PM: direct-complete suspend driver flags: 0
[  403.315792] tty tty14: PM: direct-complete suspend driver flags: 0
[  403.315795] tty tty13: PM: direct-complete suspend driver flags: 0
[  403.315799] tty tty12: PM: direct-complete suspend driver flags: 0
[  403.315802] tty tty11: PM: direct-complete suspend driver flags: 0
[  403.315805] tty tty10: PM: direct-complete suspend driver flags: 0
[  403.315808] tty tty9: PM: direct-complete suspend driver flags: 0
[  403.315812] tty tty8: PM: direct-complete suspend driver flags: 0
[  403.315815] tty tty7: PM: direct-complete suspend driver flags: 0
[  403.315818] tty tty6: PM: direct-complete suspend driver flags: 0
[  403.315822] tty tty5: PM: direct-complete suspend driver flags: 0
[  403.315825] tty tty4: PM: direct-complete suspend driver flags: 0
[  403.315828] tty tty3: PM: direct-complete suspend driver flags: 0
[  403.315831] tty tty2: PM: direct-complete suspend driver flags: 0
[  403.315834] tty tty1: PM: direct-complete suspend driver flags: 0
[  403.315838] vc vcsa1: PM: direct-complete suspend driver flags: 0
[  403.315841] vc vcsu1: PM: direct-complete suspend driver flags: 0
[  403.315844] vc vcs1: PM: direct-complete suspend driver flags: 0
[  403.315848] vc vcsa: PM: direct-complete suspend driver flags: 0
[  403.315851] vc vcsu: PM: direct-complete suspend driver flags: 0
[  403.315854] vc vcs: PM: direct-complete suspend driver flags: 0
[  403.315857] tty tty0: PM: direct-complete suspend driver flags: 0
[  403.315861] tty console: PM: direct-complete suspend driver flags: 0
[  403.315864] tty tty: PM: direct-complete suspend driver flags: 0
[  403.315867] mem kmsg: PM: direct-complete suspend driver flags: 0
[  403.315871] mem urandom: PM: direct-complete suspend driver flags: 0
[  403.315874] mem random: PM: direct-complete suspend driver flags: 0
[  403.315877] mem full: PM: direct-complete suspend driver flags: 0
[  403.315882] mem zero: PM: direct-complete suspend driver flags: 0
[  403.315887] mem port: PM: direct-complete suspend driver flags: 0
[  403.315892] mem null: PM: direct-complete suspend driver flags: 0
[  403.315895] mem mem: PM: direct-complete suspend driver flags: 0
[  403.315901] system 00:03: PM: bus suspend driver flags: 0
[  403.315906] i8042 kbd 00:02: PM: bus suspend driver flags: 0
[  403.315912] rtc_cmos 00:01: PM: bus suspend, may wakeup driver flags: 0
[  403.315968] system 00:00: PM: bus suspend driver flags: 0
[  403.315975] misc vga_arbiter: PM: direct-complete suspend driver flags: 0
[  403.315979] net lo: PM: direct-complete suspend driver flags: 0
[  403.315983] platform efivars.0: PM: bus suspend driver flags: 0
[  403.315987] platform rtc-efi.0: PM: bus suspend driver flags: 0
[  403.315991] edac mc: PM: direct-complete suspend driver flags: 0
[  403.315994]  edac: PM: direct-complete suspend driver flags: 0
[  403.315999] acpi ELAN074E:00: PM: direct-complete suspend driver flags: 0
[  403.316003] acpi-wmi PNP0C14:04: PM: power domain suspend driver flags: 0
[  403.316008] platform PNP0103:00: PM: bus suspend driver flags: 0
[  403.316012] acpi-fan PNP0C0B:00: PM: bus suspend driver flags: 0
[  403.316017] amd_pmc AMDI0005:00: PM: power domain suspend driver flags: 0
[  403.316023] ucsi_acpi USBC000:00: PM: power domain suspend driver flags: 0
[  403.316027] platform ACPI000E:00: PM: bus suspend driver flags: 0
[  403.316032] acpi-wmi PNP0C14:03: PM: power domain suspend driver flags: 0
[  403.316036] platform PNP0C0D:00: PM: bus suspend driver flags: 0
[  403.316041] acpi-wmi PNP0C14:02: PM: power domain suspend driver flags: 0
[  403.316046] acpi-wmi PNP0C14:01: PM: power domain suspend driver flags: 0
[  403.316051] acpi-wmi PNP0C14:00: PM: power domain suspend driver flags: 0
[  403.316056] platform MSFT0101:00: PM: bus suspend driver flags: 0
[  403.316060] amd_gpio AMDI0030:00: PM: power domain suspend driver flags: 0
[  403.316065] platform acpi-cpufreq: PM: bus suspend driver flags: 0
[  403.316069] platform PNP0C0C:00: PM: bus suspend driver flags: 0
[  403.316073] platform HPIC0003:00: PM: bus suspend driver flags: 0
[  403.316077] platform PNP0C0A:00: PM: bus suspend driver flags: 0
[  403.316081] ac ACPI0003:00: PM: power domain suspend driver flags: 0
[  403.316086] platform PNP0C09:00: PM: bus suspend driver flags: 0
[  403.316095] platform PNP0800:00: PM: bus suspend driver flags: 0
[  403.316104] pci 0000:00:14.3: PM: bus suspend driver flags: 0
[  403.316130] pci_bus 0000:03: PM: direct-complete suspend driver flags: 0
[  403.316139] pci_bus 0000:02: PM: direct-complete suspend driver flags: 0
[  403.316144] pci_bus 0000:01: PM: direct-complete suspend driver flags: 0
[  403.316152] pci_bus 0000:00: PM: direct-complete suspend driver flags: 0
[  403.316158] acpi PNP0C14:04: PM: direct-complete suspend driver flags: 0
[  403.316162] acpi PNP0103:00: PM: direct-complete suspend driver flags: 0
[  403.316166] thermal LNXTHERM:01: PM: driver suspend driver flags: 0
[  403.316255] thermal LNXTHERM:00: PM: driver suspend driver flags: 0
[  403.316264] acpi PNP0C0B:00: PM: direct-complete suspend driver flags: 0
[  403.316268] acpi LNXPOWER:09: PM: direct-complete suspend driver flags: 0
[  403.316276] acpi AMDI0005:00: PM: direct-complete suspend driver flags: 0
[  403.316279] acpi device:3f: PM: direct-complete suspend driver flags: 0
[  403.316283] acpi USBC000:00: PM: direct-complete suspend driver flags: 0
[  403.316287] acpi ACPI000C:00: PM: direct-complete suspend driver flags: 0
[  403.316291] acpi ACPI000E:00: PM: direct-complete suspend driver flags: 0
[  403.316294] acpi PNP0C02:0d: PM: direct-complete suspend driver flags: 0
[  403.316298] acpi PNP0C02:0c: PM: direct-complete suspend driver flags: 0
[  403.316301] acpi PNP0C02:0b: PM: direct-complete suspend driver flags: 0
[  403.316304] acpi PNP0C02:0a: PM: direct-complete suspend driver flags: 0
[  403.316308] acpi PNP0C02:09: PM: direct-complete suspend driver flags: 0
[  403.316311] acpi PNP0C02:08: PM: direct-complete suspend driver flags: 0
[  403.316315] acpi PNP0C02:07: PM: direct-complete suspend driver flags: 0
[  403.316318] acpi PNP0C02:06: PM: direct-complete suspend driver flags: 0
[  403.316322] acpi PNP0C02:05: PM: direct-complete suspend driver flags: 0
[  403.316325] acpi PNP0C02:04: PM: direct-complete suspend driver flags: 0
[  403.316331] acpi PNP0C02:03: PM: direct-complete suspend driver flags: 0
[  403.316335] acpi LNXPOWER:08: PM: direct-complete suspend driver flags: 0
[  403.316338] acpi LNXPOWER:07: PM: direct-complete suspend driver flags: 0
[  403.316342] acpi HPQ6007:00: PM: direct-complete suspend driver flags: 0
[  403.316345] acpi HPQ6001:00: PM: direct-complete suspend driver flags: 0
[  403.316349] acpi PNP0C14:03: PM: direct-complete suspend driver flags: 0
[  403.316352] acpi PNP0C0E:00: PM: direct-complete suspend driver flags: 0
[  403.316357] button PNP0C0D:00: PM: driver suspend, may wakeup driver flags: 0
[  403.316363] acpi PNP0C14:02: PM: direct-complete suspend driver flags: 0
[  403.316367] acpi PNP0C14:01: PM: direct-complete suspend driver flags: 0
[  403.316370] acpi PNP0C14:00: PM: direct-complete suspend driver flags: 0
[  403.316374] tpm_crb MSFT0101:00: PM: driver suspend driver flags: 0
[  403.322976] amdgpu 0000:03:00.0: PM: bus suspend driver flags: 0
[  403.323647] xhci_hcd 0000:03:00.3: PM: bus suspend, may wakeup driver flags: 0
[  403.361943] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  403.363306] scsi target0:0:0: PM: bus suspend driver flags: 0
[  403.363339] scsi host0: PM: bus suspend driver flags: 0
[  403.363376] usb 4-1: PM: type suspend driver flags: 0
[  403.365332] acpi AMDI0040:00: PM: direct-complete suspend driver flags: 0
[  403.365338] acpi AMDI0010:05: PM: direct-complete suspend driver flags: 0
[  403.365343] acpi AMDI0010:04: PM: direct-complete suspend driver flags: 0
[  403.365348] acpi AMDI0010:03: PM: direct-complete suspend driver flags: 0
[  403.365353] acpi AMDI0010:02: PM: direct-complete suspend driver flags: 0
[  403.365356] acpi AMDI0010:01: PM: direct-complete suspend driver flags: 0
[  403.365360] acpi AMDI0010:00: PM: direct-complete suspend driver flags: 0
[  403.365364] acpi AMDI0020:03: PM: direct-complete suspend driver flags: 0
[  403.365368] acpi AMDI0020:02: PM: direct-complete suspend driver flags: 0
[  403.365372] acpi AMDI0020:01: PM: direct-complete suspend driver flags: 0
[  403.365375] acpi AMDI0020:00: PM: direct-complete suspend driver flags: 0
[  403.365380] acpi AMDI0030:00: PM: direct-complete suspend driver flags: 0
[  403.365384] acpi AMDI0060:00: PM: direct-complete suspend driver flags: 0
[  403.365387] acpi PNP0C0F:07: PM: direct-complete suspend driver flags: 0
[  403.365391] acpi PNP0C0F:06: PM: direct-complete suspend driver flags: 0
[  403.365395] acpi PNP0C0F:05: PM: direct-complete suspend driver flags: 0
[  403.365399] acpi PNP0C0F:04: PM: direct-complete suspend driver flags: 0
[  403.365403] acpi PNP0C0F:03: PM: direct-complete suspend driver flags: 0
[  403.365407] acpi PNP0C0F:02: PM: direct-complete suspend driver flags: 0
[  403.365410] acpi PNP0C0F:01: PM: direct-complete suspend driver flags: 0
[  403.365414] acpi PNP0C0F:00: PM: direct-complete suspend driver flags: 0
[  403.365418] acpi ACPI0007:0f: PM: direct-complete suspend driver flags: 0
[  403.365422] acpi ACPI0007:0e: PM: direct-complete suspend driver flags: 0
[  403.365426] acpi ACPI0007:0d: PM: direct-complete suspend driver flags: 0
[  403.365430] acpi ACPI0007:0c: PM: direct-complete suspend driver flags: 0
[  403.365433] acpi ACPI0007:0b: PM: direct-complete suspend driver flags: 0
[  403.365437] acpi ACPI0007:0a: PM: direct-complete suspend driver flags: 0
[  403.365441] acpi ACPI0007:09: PM: direct-complete suspend driver flags: 0
[  403.365445] acpi ACPI0007:08: PM: direct-complete suspend driver flags: 0
[  403.365448] acpi ACPI0007:07: PM: direct-complete suspend driver flags: 0
[  403.365452] acpi ACPI0007:06: PM: direct-complete suspend driver flags: 0
[  403.365456] acpi ACPI0007:05: PM: direct-complete suspend driver flags: 0
[  403.365460] acpi ACPI0007:04: PM: direct-complete suspend driver flags: 0
[  403.365464] acpi ACPI0007:03: PM: direct-complete suspend driver flags: 0
[  403.365468] acpi ACPI0007:02: PM: direct-complete suspend driver flags: 0
[  403.365471] acpi ACPI0007:01: PM: direct-complete suspend driver flags: 0
[  403.365475] acpi ACPI0007:00: PM: direct-complete suspend driver flags: 0
[  403.365484] acpi ACPI0010:00: PM: direct-complete suspend driver flags: 0
[  403.365489] button PNP0C0C:00: PM: driver suspend, may wakeup driver flags: 0
[  403.365495] acpi device:3e: PM: direct-complete suspend driver flags: 0
[  403.365500] acpi device:3d: PM: direct-complete suspend driver flags: 0
[  403.365504] acpi device:3c: PM: direct-complete suspend driver flags: 0
[  403.365508] acpi device:3b: PM: direct-complete suspend driver flags: 0
[  403.365513] acpi device:3a: PM: direct-complete suspend driver flags: 0
[  403.365517] acpi device:39: PM: direct-complete suspend driver flags: 0
[  403.365521] acpi device:38: PM: direct-complete suspend driver flags: 0
[  403.365525] acpi device:37: PM: direct-complete suspend driver flags: 0
[  403.365530] acpi device:36: PM: direct-complete suspend driver flags: 0
[  403.365534] acpi device:35: PM: direct-complete suspend driver flags: 0
[  403.365538] acpi device:34: PM: direct-complete suspend driver flags: 0
[  403.365542] acpi HPIC0003:00: PM: direct-complete suspend driver flags: 0
[  403.365546] acpi PNP0500:03: PM: direct-complete suspend driver flags: 0
[  403.365550] acpi PNP0500:02: PM: direct-complete suspend driver flags: 0
[  403.365554] acpi PNP0500:01: PM: direct-complete suspend driver flags: 0
[  403.365557] acpi PNP0500:00: PM: direct-complete suspend driver flags: 0
[  403.365561] acpi device:33: PM: direct-complete suspend driver flags: 0
[  403.365566] acpi device:32: PM: direct-complete suspend driver flags: 0
[  403.365570] acpi device:31: PM: direct-complete suspend driver flags: 0
[  403.365574] acpi device:30: PM: direct-complete suspend driver flags: 0
[  403.365578] acpi device:2f: PM: direct-complete suspend driver flags: 0
[  403.365582] acpi LNXPOWER:06: PM: direct-complete suspend driver flags: 0
[  403.365586] acpi device:2e: PM: direct-complete suspend driver flags: 0
[  403.365591] acpi device:2d: PM: direct-complete suspend driver flags: 0
[  403.365595] acpi device:2c: PM: direct-complete suspend driver flags: 0
[  403.365598] acpi PNP0C02:02: PM: direct-complete suspend driver flags: 0
[  403.365602] acpi SYNA3290:00: PM: direct-complete suspend driver flags: 0
[  403.365606] acpi HPQ8001:00: PM: direct-complete suspend driver flags: 0
[  403.365615] acpi ACPI0003:00: PM: direct-complete suspend driver flags: 0
[  403.365620] ec PNP0C09:00: PM: driver suspend driver flags: 0
[  403.365625] acpi PNP0800:00: PM: direct-complete suspend driver flags: 0
[  403.365629] acpi PNP0B00:00: PM: direct-complete suspend driver flags: 0
[  403.365632] acpi PNP0100:00: PM: direct-complete suspend driver flags: 0
[  403.365636] acpi PNP0200:00: PM: direct-complete suspend driver flags: 0
[  403.365640] acpi PNP0000:00: PM: direct-complete suspend driver flags: 0
[  403.365650] acpi device:2a: PM: direct-complete suspend driver flags: 0
[  403.365653] acpi device:29: PM: direct-complete suspend driver flags: 0
[  403.365658] acpi device:28: PM: direct-complete suspend driver flags: 0
[  403.365661] acpi device:27: PM: direct-complete suspend driver flags: 0
[  403.365666] acpi device:26: PM: direct-complete suspend driver flags: 0
[  403.365669] acpi device:25: PM: direct-complete suspend driver flags: 0
[  403.365673] acpi LNXPOWER:05: PM: direct-complete suspend driver flags: 0
[  403.365677] acpi device:24: PM: direct-complete suspend driver flags: 0
[  403.365681] acpi LNXPOWER:04: PM: direct-complete suspend driver flags: 0
[  403.365685] acpi device:23: PM: direct-complete suspend driver flags: 0
[  403.365689] acpi device:22: PM: direct-complete suspend driver flags: 0
[  403.365693] acpi device:21: PM: direct-complete suspend driver flags: 0
[  403.365697] acpi device:20: PM: direct-complete suspend driver flags: 0
[  403.365701] acpi device:1f: PM: direct-complete suspend driver flags: 0
[  403.365705] acpi device:1e: PM: direct-complete suspend driver flags: 0
[  403.365709] acpi device:1d: PM: direct-complete suspend driver flags: 0
[  403.365712] acpi device:1c: PM: direct-complete suspend driver flags: 0
[  403.365717] acpi device:1b: PM: direct-complete suspend driver flags: 0
[  403.365722] acpi device:1a: PM: direct-complete suspend driver flags: 0
[  403.365726] acpi LNXPOWER:03: PM: direct-complete suspend driver flags: 0
[  403.365729] acpi LNXPOWER:02: PM: direct-complete suspend driver flags: 0
[  403.365733] acpi device:19: PM: direct-complete suspend driver flags: 0
[  403.365737] acpi device:18: PM: direct-complete suspend driver flags: 0
[  403.365740] acpi device:17: PM: direct-complete suspend driver flags: 0
[  403.365744] acpi device:16: PM: direct-complete suspend driver flags: 0
[  403.365748] acpi device:15: PM: direct-complete suspend driver flags: 0
[  403.365752] acpi device:14: PM: direct-complete suspend driver flags: 0
[  403.365756] acpi device:13: PM: direct-complete suspend driver flags: 0
[  403.365759] acpi device:12: PM: direct-complete suspend driver flags: 0
[  403.365764] acpi device:11: PM: direct-complete suspend driver flags: 0
[  403.365768] acpi device:10: PM: direct-complete suspend driver flags: 0
[  403.365772] acpi LNXPOWER:01: PM: direct-complete suspend driver flags: 0
[  403.365776] acpi LNXPOWER:00: PM: direct-complete suspend driver flags: 0
[  403.365780] acpi device:0f: PM: direct-complete suspend driver flags: 0
[  403.365784] acpi device:0e: PM: direct-complete suspend driver flags: 0
[  403.365788] acpi PNP0C02:01: PM: direct-complete suspend driver flags: 0
[  403.365792] acpi device:0d: PM: direct-complete suspend driver flags: 0
[  403.365797] acpi device:0c: PM: direct-complete suspend driver flags: 0
[  403.365801] acpi device:0b: PM: direct-complete suspend driver flags: 0
[  403.365839] acpi device:09: PM: direct-complete suspend driver flags: 0
[  403.365844] acpi device:08: PM: direct-complete suspend driver flags: 0
[  403.365848] acpi device:07: PM: direct-complete suspend driver flags: 0
[  403.365852] acpi device:06: PM: direct-complete suspend driver flags: 0
[  403.365856] acpi device:05: PM: direct-complete suspend driver flags: 0
[  403.365860] acpi device:04: PM: direct-complete suspend driver flags: 0
[  403.365863] acpi device:03: PM: direct-complete suspend driver flags: 0
[  403.365867] acpi device:02: PM: direct-complete suspend driver flags: 0
[  403.365871] acpi device:01: PM: direct-complete suspend driver flags: 0
[  403.365875] acpi device:00: PM: direct-complete suspend driver flags: 0
[  403.365880] acpi PNP0C02:00: PM: direct-complete suspend driver flags: 0
[  403.365883] acpi PNP0C01:00: PM: direct-complete suspend driver flags: 0
[  403.365933] graphics fbcon: PM: direct-complete suspend driver flags: 0
[  403.365937] workqueue blkcg_punt_bio: PM: direct-complete suspend driver flags: 0
[  403.365941]  memory_tiering: PM: direct-complete suspend driver flags: 0
[  403.365945] workqueue writeback: PM: direct-complete suspend driver flags: 0
[  403.365950] dmi id: PM: direct-complete suspend driver flags: 0
[  403.365954] vtconsole vtcon0: PM: direct-complete suspend driver flags: 0
[  403.365959] regulator regulator.0: PM: class suspend driver flags: 0
[  403.365967]  workqueue: PM: direct-complete suspend driver flags: 0
[  403.365970]  container: PM: direct-complete suspend driver flags: 0
[  403.365975] processor cpu15: PM: direct-complete suspend driver flags: 0
[  403.365979] processor cpu14: PM: direct-complete suspend driver flags: 0
[  403.365983] processor cpu13: PM: direct-complete suspend driver flags: 0
[  403.365987] processor cpu12: PM: direct-complete suspend driver flags: 0
[  403.365992] processor cpu11: PM: direct-complete suspend driver flags: 0
[  403.365996] processor cpu10: PM: direct-complete suspend driver flags: 0
[  403.366000] processor cpu9: PM: direct-complete suspend driver flags: 0
[  403.366004] processor cpu8: PM: direct-complete suspend driver flags: 0
[  403.366008] processor cpu7: PM: direct-complete suspend driver flags: 0
[  403.366011] processor cpu6: PM: direct-complete suspend driver flags: 0
[  403.366015] processor cpu5: PM: direct-complete suspend driver flags: 0
[  403.366019] processor cpu4: PM: direct-complete suspend driver flags: 0
[  403.366023] processor cpu3: PM: direct-complete suspend driver flags: 0
[  403.366027] processor cpu2: PM: direct-complete suspend driver flags: 0
[  403.366031] processor cpu1: PM: direct-complete suspend driver flags: 0
[  403.366035] processor cpu0: PM: direct-complete suspend driver flags: 0
[  403.366039]  cpu: PM: direct-complete suspend driver flags: 0
[  403.366043] node node0: PM: direct-complete suspend driver flags: 0
[  403.366046]  node: PM: direct-complete suspend driver flags: 0
[  403.366050] memory memory131: PM: direct-complete suspend driver flags: 0
[  403.366054] memory memory130: PM: direct-complete suspend driver flags: 0
[  403.366058] memory memory129: PM: direct-complete suspend driver flags: 0
[  403.366061] memory memory128: PM: direct-complete suspend driver flags: 0
[  403.366064] memory memory127: PM: direct-complete suspend driver flags: 0
[  403.366068] memory memory126: PM: direct-complete suspend driver flags: 0
[  403.366071] memory memory125: PM: direct-complete suspend driver flags: 0
[  403.366075] memory memory124: PM: direct-complete suspend driver flags: 0
[  403.366079] memory memory123: PM: direct-complete suspend driver flags: 0
[  403.366082] memory memory122: PM: direct-complete suspend driver flags: 0
[  403.366086] memory memory121: PM: direct-complete suspend driver flags: 0
[  403.366090] memory memory120: PM: direct-complete suspend driver flags: 0
[  403.366093] memory memory119: PM: direct-complete suspend driver flags: 0
[  403.366097] memory memory118: PM: direct-complete suspend driver flags: 0
[  403.366100] memory memory117: PM: direct-complete suspend driver flags: 0
[  403.366104] memory memory116: PM: direct-complete suspend driver flags: 0
[  403.366107] memory memory115: PM: direct-complete suspend driver flags: 0
[  403.366111] memory memory114: PM: direct-complete suspend driver flags: 0
[  403.366114] memory memory113: PM: direct-complete suspend driver flags: 0
[  403.366118] memory memory112: PM: direct-complete suspend driver flags: 0
[  403.366121] memory memory111: PM: direct-complete suspend driver flags: 0
[  403.366125] memory memory110: PM: direct-complete suspend driver flags: 0
[  403.366129] memory memory109: PM: direct-complete suspend driver flags: 0
[  403.366132] memory memory108: PM: direct-complete suspend driver flags: 0
[  403.366136] memory memory107: PM: direct-complete suspend driver flags: 0
[  403.366139] memory memory106: PM: direct-complete suspend driver flags: 0
[  403.366159] memory memory105: PM: direct-complete suspend driver flags: 0
[  403.366162] memory memory104: PM: direct-complete suspend driver flags: 0
[  403.366166] memory memory103: PM: direct-complete suspend driver flags: 0
[  403.366170] memory memory102: PM: direct-complete suspend driver flags: 0
[  403.366173] memory memory101: PM: direct-complete suspend driver flags: 0
[  403.366177] memory memory100: PM: direct-complete suspend driver flags: 0
[  403.366180] memory memory99: PM: direct-complete suspend driver flags: 0
[  403.366184] memory memory98: PM: direct-complete suspend driver flags: 0
[  403.366188] memory memory97: PM: direct-complete suspend driver flags: 0
[  403.366191] memory memory96: PM: direct-complete suspend driver flags: 0
[  403.366195] memory memory95: PM: direct-complete suspend driver flags: 0
[  403.366198] memory memory94: PM: direct-complete suspend driver flags: 0
[  403.366202] memory memory93: PM: direct-complete suspend driver flags: 0
[  403.366205] memory memory92: PM: direct-complete suspend driver flags: 0
[  403.366209] memory memory91: PM: direct-complete suspend driver flags: 0
[  403.366213] memory memory90: PM: direct-complete suspend driver flags: 0
[  403.366217] memory memory89: PM: direct-complete suspend driver flags: 0
[  403.366222] memory memory88: PM: direct-complete suspend driver flags: 0
[  403.366227] memory memory87: PM: direct-complete suspend driver flags: 0
[  403.366233] memory memory86: PM: direct-complete suspend driver flags: 0
[  403.366237] memory memory85: PM: direct-complete suspend driver flags: 0
[  403.366241] memory memory84: PM: direct-complete suspend driver flags: 0
[  403.366244] memory memory83: PM: direct-complete suspend driver flags: 0
[  403.366247] memory memory82: PM: direct-complete suspend driver flags: 0
[  403.366251] memory memory81: PM: direct-complete suspend driver flags: 0
[  403.366254] memory memory80: PM: direct-complete suspend driver flags: 0
[  403.366258] memory memory79: PM: direct-complete suspend driver flags: 0
[  403.366261] memory memory78: PM: direct-complete suspend driver flags: 0
[  403.366265] memory memory77: PM: direct-complete suspend driver flags: 0
[  403.366269] memory memory76: PM: direct-complete suspend driver flags: 0
[  403.366272] memory memory75: PM: direct-complete suspend driver flags: 0
[  403.366276] memory memory74: PM: direct-complete suspend driver flags: 0
[  403.366279] memory memory73: PM: direct-complete suspend driver flags: 0
[  403.366283] memory memory72: PM: direct-complete suspend driver flags: 0
[  403.366286] memory memory71: PM: direct-complete suspend driver flags: 0
[  403.366290] memory memory70: PM: direct-complete suspend driver flags: 0
[  403.366293] memory memory69: PM: direct-complete suspend driver flags: 0
[  403.366297] memory memory68: PM: direct-complete suspend driver flags: 0
[  403.366301] memory memory67: PM: direct-complete suspend driver flags: 0
[  403.366304] memory memory66: PM: direct-complete suspend driver flags: 0
[  403.366308] memory memory65: PM: direct-complete suspend driver flags: 0
[  403.366311] memory memory64: PM: direct-complete suspend driver flags: 0
[  403.366317] memory memory63: PM: direct-complete suspend driver flags: 0
[  403.366331] memory memory62: PM: direct-complete suspend driver flags: 0
[  403.366334] memory memory61: PM: direct-complete suspend driver flags: 0
[  403.366338] memory memory60: PM: direct-complete suspend driver flags: 0
[  403.366341] memory memory59: PM: direct-complete suspend driver flags: 0
[  403.366345] memory memory58: PM: direct-complete suspend driver flags: 0
[  403.366348] memory memory57: PM: direct-complete suspend driver flags: 0
[  403.366352] memory memory56: PM: direct-complete suspend driver flags: 0
[  403.366356] memory memory55: PM: direct-complete suspend driver flags: 0
[  403.366359] memory memory54: PM: direct-complete suspend driver flags: 0
[  403.366363] memory memory53: PM: direct-complete suspend driver flags: 0
[  403.366367] memory memory52: PM: direct-complete suspend driver flags: 0
[  403.366370] memory memory51: PM: direct-complete suspend driver flags: 0
[  403.366374] memory memory50: PM: direct-complete suspend driver flags: 0
[  403.366377] memory memory49: PM: direct-complete suspend driver flags: 0
[  403.366381] memory memory48: PM: direct-complete suspend driver flags: 0
[  403.366384] memory memory47: PM: direct-complete suspend driver flags: 0
[  403.366388] memory memory46: PM: direct-complete suspend driver flags: 0
[  403.366391] memory memory45: PM: direct-complete suspend driver flags: 0
[  403.366395] memory memory44: PM: direct-complete suspend driver flags: 0
[  403.366398] memory memory43: PM: direct-complete suspend driver flags: 0
[  403.366402] memory memory42: PM: direct-complete suspend driver flags: 0
[  403.366406] memory memory41: PM: direct-complete suspend driver flags: 0
[  403.366410] memory memory40: PM: direct-complete suspend driver flags: 0
[  403.366413] memory memory39: PM: direct-complete suspend driver flags: 0
[  403.366416] memory memory38: PM: direct-complete suspend driver flags: 0
[  403.366420] memory memory37: PM: direct-complete suspend driver flags: 0
[  403.366424] memory memory36: PM: direct-complete suspend driver flags: 0
[  403.366427] memory memory35: PM: direct-complete suspend driver flags: 0
[  403.366431] memory memory34: PM: direct-complete suspend driver flags: 0
[  403.366437] memory memory33: PM: direct-complete suspend driver flags: 0
[  403.366440] memory memory32: PM: direct-complete suspend driver flags: 0
[  403.366445] memory memory23: PM: direct-complete suspend driver flags: 0
[  403.366448] memory memory22: PM: direct-complete suspend driver flags: 0
[  403.366452] memory memory21: PM: direct-complete suspend driver flags: 0
[  403.366456] memory memory20: PM: direct-complete suspend driver flags: 0
[  403.366459] memory memory19: PM: direct-complete suspend driver flags: 0
[  403.366462] memory memory18: PM: direct-complete suspend driver flags: 0
[  403.366466] memory memory17: PM: direct-complete suspend driver flags: 0
[  403.366469] memory memory16: PM: direct-complete suspend driver flags: 0
[  403.366473] memory memory15: PM: direct-complete suspend driver flags: 0
[  403.366476] memory memory14: PM: direct-complete suspend driver flags: 0
[  403.366480] memory memory13: PM: direct-complete suspend driver flags: 0
[  403.366483] memory memory12: PM: direct-complete suspend driver flags: 0
[  403.366487] memory memory11: PM: direct-complete suspend driver flags: 0
[  403.366490] memory memory10: PM: direct-complete suspend driver flags: 0
[  403.366494] memory memory9: PM: direct-complete suspend driver flags: 0
[  403.366497] memory memory8: PM: direct-complete suspend driver flags: 0
[  403.366501] memory memory7: PM: direct-complete suspend driver flags: 0
[  403.366504] memory memory6: PM: direct-complete suspend driver flags: 0
[  403.366508] memory memory5: PM: direct-complete suspend driver flags: 0
[  403.366512] memory memory4: PM: direct-complete suspend driver flags: 0
[  403.366515] memory memory3: PM: direct-complete suspend driver flags: 0
[  403.366519] memory memory2: PM: direct-complete suspend driver flags: 0
[  403.366522] memory memory1: PM: direct-complete suspend driver flags: 0
[  403.366526] memory memory0: PM: direct-complete suspend driver flags: 0
[  403.366529]  memory: PM: direct-complete suspend driver flags: 0
[  403.371095] iwlwifi 0000:01:00.0: PM: bus suspend driver flags: 0
[  403.371157] pcieport 0000:00:02.2: PM: bus suspend driver flags: 5
[  403.380973] usb usb4: PM: type suspend driver flags: 0
[  403.417165] pcieport 0000:00:02.4: PM: bus suspend driver flags: 5
[  403.427133] usb usb3: PM: type suspend driver flags: 0
[  403.435905] xhci_hcd 0000:03:00.4: PM: bus suspend, may wakeup driver flags: 0
[  403.436142] pcieport 0000:00:08.1: PM: bus suspend, may wakeup driver flags: 5
[  403.436237] PM: suspend of devices complete after 136.830 msecs
[  403.436251] PM: start suspend of devices complete after 391.853 msecs
[  403.437437] pcie_mp2_amd 0000:03:00.7: PM: late bus suspend driver flags: 0
[  403.437438] ccp 0000:03:00.2: PM: late bus suspend driver flags: 0
[  403.437440] pci 0000:00:18.7: PM: late bus suspend driver flags: 0
[  403.437441] pci 0000:00:18.6: PM: late bus suspend driver flags: 0
[  403.437442] pci 0000:00:18.5: PM: late bus suspend driver flags: 0
[  403.437443] pci 0000:00:18.4: PM: late bus suspend driver flags: 0
[  403.437444] pci 0000:00:18.2: PM: late bus suspend driver flags: 0
[  403.437445] pci 0000:00:18.0: PM: late bus suspend driver flags: 0
[  403.437445] pci 0000:00:18.1: PM: late bus suspend driver flags: 0
[  403.437449] pci 0000:00:08.0: PM: late bus suspend driver flags: 0
[  403.437450] pci 0000:00:02.0: PM: late bus suspend driver flags: 0
[  403.437453] pci 0000:00:00.0: PM: late bus suspend driver flags: 0
[  403.437454] pci 0000:00:01.0: PM: late bus suspend driver flags: 0
[  403.437884] iwlwifi 0000:01:00.0: PM: late bus suspend driver flags: 0
[  403.437923] snd_hda_intel 0000:03:00.6: PM: late bus suspend driver flags: 0
[  403.437937] snd_hda_intel 0000:03:00.1: PM: late bus suspend driver flags: 0
[  403.437976] xhci_hcd 0000:03:00.3: PM: late bus suspend, may wakeup driver flags: 0
[  403.438014] snd_rn_pci_acp3x 0000:03:00.5: PM: late bus suspend driver flags: 0
[  403.438023] k10temp 0000:00:18.3: PM: late bus suspend driver flags: 0
[  403.438040] piix4_smbus 0000:00:14.0: PM: late bus suspend driver flags: 0
[  403.438149] amdgpu 0000:03:00.0: PM: late bus suspend driver flags: 0
[  403.438165] i2c_hid_acpi i2c-ELAN074E:00: PM: late power domain suspend, may wakeup driver flags: 0
[  403.438183] nvme 0000:02:00.0: PM: late bus suspend driver flags: 0
[  403.438194] xhci_hcd 0000:03:00.4: PM: late bus suspend, may wakeup driver flags: 0
[  403.438220] i2c_designware AMDI0010:03: PM: late power domain suspend driver flags: 6
[  403.438413] pci 0000:00:00.2: PM: late bus suspend driver flags: 0
[  403.438543] acpi-wmi PNP0C14:04: PM: late power domain suspend driver flags: 0
[  403.438552] amd_pmc AMDI0005:00: PM: late power domain suspend driver flags: 0
[  403.438557] ucsi_acpi USBC000:00: PM: late power domain suspend driver flags: 0
[  403.438564] acpi-wmi PNP0C14:03: PM: late power domain suspend driver flags: 0
[  403.438571] acpi-wmi PNP0C14:02: PM: late power domain suspend driver flags: 0
[  403.438575] acpi-wmi PNP0C14:01: PM: late power domain suspend driver flags: 0
[  403.438580] acpi-wmi PNP0C14:00: PM: late power domain suspend driver flags: 0
[  403.438585] amd_gpio AMDI0030:00: PM: late power domain suspend driver flags: 0
[  403.438611] Disabling GPIO #9 interrupt for suspend.
[  403.438656] ac ACPI0003:00: PM: late power domain suspend driver flags: 0
[  403.438670] pci 0000:00:14.3: PM: late bus suspend driver flags: 0
[  403.438684] pcieport 0000:00:02.4: PM: late bus suspend driver flags: 5
[  403.438685] pcieport 0000:00:02.2: PM: late bus suspend driver flags: 5
[  403.438698] pcieport 0000:00:08.1: PM: late bus suspend, may wakeup driver flags: 5
[  403.439175] PM: late suspend of devices complete after 2.917 msecs
[  403.440346] pcie_mp2_amd 0000:03:00.7: PM: noirq bus suspend driver flags: 0
[  403.440347] ccp 0000:03:00.2: PM: noirq bus suspend driver flags: 0
[  403.440350] pci 0000:00:18.7: PM: noirq bus suspend driver flags: 0
[  403.440351] pci 0000:00:18.5: PM: noirq bus suspend driver flags: 0
[  403.440351] pci 0000:00:18.6: PM: noirq bus suspend driver flags: 0
[  403.440351] pci 0000:00:18.4: PM: noirq bus suspend driver flags: 0
[  403.440353] pci 0000:00:18.2: PM: noirq bus suspend driver flags: 0
[  403.440355] pci 0000:00:18.0: PM: noirq bus suspend driver flags: 0
[  403.440355] pci 0000:00:18.1: PM: noirq bus suspend driver flags: 0
[  403.440359] pci 0000:00:08.0: PM: noirq bus suspend driver flags: 0
[  403.440360] pci 0000:00:02.0: PM: noirq bus suspend driver flags: 0
[  403.440362] pci 0000:00:01.0: PM: noirq bus suspend driver flags: 0
[  403.440363] pci 0000:00:00.0: PM: noirq bus suspend driver flags: 0
[  403.440491] snd_hda_intel 0000:03:00.1: PM: noirq bus suspend driver flags: 0
[  403.440533] iwlwifi 0000:01:00.0: PM: noirq bus suspend driver flags: 0
[  403.440545] snd_hda_intel 0000:03:00.6: PM: noirq bus suspend driver flags: 0
[  403.440545] xhci_hcd 0000:03:00.3: PM: noirq bus suspend, may wakeup driver flags: 0
[  403.440546] snd_rn_pci_acp3x 0000:03:00.5: PM: noirq bus suspend driver flags: 0
[  403.440595] k10temp 0000:00:18.3: PM: noirq bus suspend driver flags: 0
[  403.440809] piix4_smbus 0000:00:14.0: PM: noirq bus suspend driver flags: 0
[  403.440810] nvme 0000:02:00.0: PM: noirq bus suspend driver flags: 0
[  403.440817] i2c_hid_acpi i2c-ELAN074E:00: PM: noirq power domain suspend, may wakeup driver flags: 0
[  403.440827] xhci_hcd 0000:03:00.4: PM: noirq bus suspend, may wakeup driver flags: 0
[  403.441022] i2c_designware AMDI0010:03: PM: noirq power domain suspend driver flags: 6
[  403.441118] pci 0000:00:00.2: PM: noirq bus suspend driver flags: 0
[  403.441232] acpi-wmi PNP0C14:04: PM: noirq power domain suspend driver flags: 0
[  403.441240] amd_pmc AMDI0005:00: PM: noirq power domain suspend driver flags: 0
[  403.441244] ucsi_acpi USBC000:00: PM: noirq power domain suspend driver flags: 0
[  403.441250] acpi-wmi PNP0C14:03: PM: noirq power domain suspend driver flags: 0
[  403.441255] acpi-wmi PNP0C14:02: PM: noirq power domain suspend driver flags: 0
[  403.441259] acpi-wmi PNP0C14:01: PM: noirq power domain suspend driver flags: 0
[  403.441263] acpi-wmi PNP0C14:00: PM: noirq power domain suspend driver flags: 0
[  403.441269] amd_gpio AMDI0030:00: PM: noirq power domain suspend driver flags: 0
[  403.441279] ac ACPI0003:00: PM: noirq power domain suspend driver flags: 0
[  403.441292] pci 0000:00:14.3: PM: noirq bus suspend driver flags: 0
[  403.441475] ec PNP0C09:00: PM: noirq driver suspend driver flags: 0
[  403.441487] ACPI: EC: interrupt blocked
[  403.452537] amdgpu 0000:03:00.0: PM: noirq bus suspend driver flags: 0
[  403.463904] amdgpu 0000:03:00.0: Refused to change power state from D0 to D3hot
[  403.468314] pcieport 0000:00:02.4: PM: noirq bus suspend driver flags: 5
[  403.468328] pcieport 0000:00:02.2: PM: noirq bus suspend driver flags: 5
[  403.480581] pcieport 0000:00:08.1: PM: noirq bus suspend, may wakeup driver flags: 5
[  403.480657] PM: noirq suspend of devices complete after 40.999 msecs
[  403.480698] ACPI: \_SB_.PLTF.P000: LPI: Device not power manageable
[  403.480701] ACPI: \_SB_.PLTF.P001: LPI: Device not power manageable
[  403.480704] ACPI: \_SB_.PLTF.P002: LPI: Device not power manageable
[  403.480706] ACPI: \_SB_.PLTF.P003: LPI: Device not power manageable
[  403.480708] ACPI: \_SB_.PLTF.P004: LPI: Device not power manageable
[  403.480710] ACPI: \_SB_.PLTF.P005: LPI: Device not power manageable
[  403.480712] ACPI: \_SB_.PLTF.P006: LPI: Device not power manageable
[  403.480714] ACPI: \_SB_.PLTF.P007: LPI: Device not power manageable
[  403.480716] ACPI: \_SB_.PLTF.P008: LPI: Device not power manageable
[  403.480718] ACPI: \_SB_.PLTF.P009: LPI: Device not power manageable
[  403.480720] ACPI: \_SB_.PLTF.P00A: LPI: Device not power manageable
[  403.480722] ACPI: \_SB_.PLTF.P00B: LPI: Device not power manageable
[  403.480724] ACPI: \_SB_.PLTF.P00C: LPI: Device not power manageable
[  403.480726] ACPI: \_SB_.PLTF.P00D: LPI: Device not power manageable
[  403.480728] ACPI: \_SB_.PLTF.P00E: LPI: Device not power manageable
[  403.480730] ACPI: \_SB_.PLTF.P00F: LPI: Device not power manageable
[  403.480732] ACPI: \_SB_.PCI0.GPP1: LPI: Device not power manageable
[  403.480733] ACPI: \_SB_.PCI0.GPP4: LPI: Device not power manageable
[  403.480736] ACPI: \_SB_.PCI0.GPP4.XPDV: LPI: Device not power manageable
[  403.480738] ACPI: \_SB_.PCI0.GPP6.NVME: LPI: Device not power manageable
[  403.480739] ACPI: \_SB_.PCI0.GP17.VGA_: LPI: Device not power manageable
[  403.480743] ACPI: \_SB_.PCI0.GP17.HDAU: LPI: Device not power manageable
[  403.480746] ACPI: \_SB_.PCI0.GP17.XHC1.RHUB.PRT3.BUTH: LPI: Device not power manageable
[  403.480884] ACPI: \_SB_.PEP_: Successfully transitioned to state screen off
[  403.489755] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 ms entry
[  403.490072] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 entry
[  403.583473] PM: suspend-to-idle
[  403.583530] amd_pmc: SMU idlemask s0i3: 0xc02e0eb5
[  407.417240] Timekeeping suspended for 3.751 seconds
[  407.420025] PM: Triggering wakeup from IRQ 9
[  407.420286] PM: Triggering wakeup from IRQ 1
[  407.420295] PM: Triggering wakeup from IRQ 0
[  407.420591] ACPI: EC: ACPI EC GPE status set
[  407.420775] ACPI: EC: ACPI EC GPE dispatched
[  407.421269] ACPI: EC: ACPI EC work flushed
[  407.422323] ACPI: PM: Wakeup after ACPI Notify sync
[  407.422326] PM: resume from suspend-to-idle
[  407.423429] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 exit
[  407.428296] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 ms exit
[  407.429699] ACPI: \_SB_.PEP_: Successfully transitioned to state screen on
[  407.430358] pci 0000:00:00.0: PM: noirq bus resume driver flags: 0
[  407.430360] i2c_designware AMDI0010:03: PM: noirq power domain resume driver flags: 6
[  407.430360] pci 0000:00:00.2: PM: noirq bus resume driver flags: 0
[  407.430388] pci 0000:00:01.0: PM: noirq bus resume driver flags: 0
[  407.430404] pci 0000:00:02.0: PM: noirq bus resume driver flags: 0
[  407.430438] pcieport 0000:00:02.2: PM: noirq bus resume driver flags: 5
[  407.430505] pcieport 0000:00:02.4: PM: noirq bus resume driver flags: 5
[  407.430514] pci 0000:00:08.0: PM: noirq bus resume driver flags: 0
[  407.430569] piix4_smbus 0000:00:14.0: PM: noirq bus resume driver flags: 0
[  407.430570] pci 0000:00:14.3: PM: noirq bus resume driver flags: 0
[  407.430570] pcieport 0000:00:08.1: PM: noirq bus resume driver flags: 5
[  407.430570] pci 0000:00:18.0: PM: noirq bus resume driver flags: 0
[  407.430574] pci 0000:00:18.1: PM: noirq bus resume driver flags: 0
[  407.430668] pci 0000:00:18.2: PM: noirq bus resume driver flags: 0
[  407.430669] k10temp 0000:00:18.3: PM: noirq bus resume driver flags: 0
[  407.430675] pci 0000:00:18.4: PM: noirq bus resume driver flags: 0
[  407.430704] pci 0000:00:18.5: PM: noirq bus resume driver flags: 0
[  407.430722] pci 0000:00:18.6: PM: noirq bus resume driver flags: 0
[  407.430723] pci 0000:00:18.7: PM: noirq bus resume driver flags: 0
[  407.430728] amdgpu 0000:03:00.0: PM: noirq bus resume driver flags: 0
[  407.430730] ccp 0000:03:00.2: PM: noirq bus resume driver flags: 0
[  407.430737] xhci_hcd 0000:03:00.3: PM: noirq bus resume driver flags: 0
[  407.430747] snd_hda_intel 0000:03:00.1: PM: noirq bus resume driver flags: 0
[  407.430775] xhci_hcd 0000:03:00.4: PM: noirq bus resume driver flags: 0
[  407.430785] snd_hda_intel 0000:03:00.6: PM: noirq bus resume driver flags: 0
[  407.430784] snd_rn_pci_acp3x 0000:03:00.5: PM: noirq bus resume driver flags: 0
[  407.430785] pcie_mp2_amd 0000:03:00.7: PM: noirq bus resume driver flags: 0
[  407.430854] i2c_hid_acpi i2c-ELAN074E:00: PM: noirq power domain resume driver flags: 0
[  407.430957] ec PNP0C09:00: PM: noirq driver resume driver flags: 0
[  407.430959] ACPI: EC: interrupt unblocked
[  407.431111] ac ACPI0003:00: PM: noirq power domain resume driver flags: 0
[  407.431120] amd_gpio AMDI0030:00: PM: noirq power domain resume driver flags: 0
[  407.431125] acpi-wmi PNP0C14:00: PM: noirq power domain resume driver flags: 0
[  407.431129] acpi-wmi PNP0C14:01: PM: noirq power domain resume driver flags: 0
[  407.431133] acpi-wmi PNP0C14:02: PM: noirq power domain resume driver flags: 0
[  407.431139] acpi-wmi PNP0C14:03: PM: noirq power domain resume driver flags: 0
[  407.431145] ucsi_acpi USBC000:00: PM: noirq power domain resume driver flags: 0
[  407.431150] amd_pmc AMDI0005:00: PM: noirq power domain resume driver flags: 0
[  407.431159] acpi-wmi PNP0C14:04: PM: noirq power domain resume driver flags: 0
[  407.431444] i8042 i8042: PM: noirq driver resume driver flags: 0
[  407.442522] iwlwifi 0000:01:00.0: PM: noirq bus resume driver flags: 0
[  407.442718] nvme 0000:02:00.0: PM: noirq bus resume driver flags: 0
[  407.461114] PM: noirq resume of devices complete after 31.409 msecs
[  407.461223] GPIO 0 is active: 0x300578e3
[  407.462055] pci 0000:00:00.0: PM: early bus resume driver flags: 0
[  407.462076] pci 0000:00:00.2: PM: early bus resume driver flags: 0
[  407.462078] pci 0000:00:01.0: PM: early bus resume driver flags: 0
[  407.462080] pci 0000:00:02.0: PM: early bus resume driver flags: 0
[  407.462086] pcieport 0000:00:02.2: PM: early bus resume driver flags: 5
[  407.462088] pcieport 0000:00:02.4: PM: early bus resume driver flags: 5
[  407.462089] pci 0000:00:08.0: PM: early bus resume driver flags: 0
[  407.462114] pci 0000:00:14.3: PM: early bus resume driver flags: 0
[  407.462114] piix4_smbus 0000:00:14.0: PM: early bus resume driver flags: 0
[  407.462115] pci 0000:00:18.1: PM: early bus resume driver flags: 0
[  407.462115] pcieport 0000:00:08.1: PM: early bus resume driver flags: 5
[  407.462116] pci 0000:00:18.0: PM: early bus resume driver flags: 0
[  407.462153] pci 0000:00:18.2: PM: early bus resume driver flags: 0
[  407.462154] pci 0000:00:18.4: PM: early bus resume driver flags: 0
[  407.462154] k10temp 0000:00:18.3: PM: early bus resume driver flags: 0
[  407.462156] pci 0000:00:18.6: PM: early bus resume driver flags: 0
[  407.462156] pci 0000:00:18.5: PM: early bus resume driver flags: 0
[  407.462157] pci 0000:00:18.7: PM: early bus resume driver flags: 0
[  407.462160] iwlwifi 0000:01:00.0: PM: early bus resume driver flags: 0
[  407.462161] i2c_designware AMDI0010:03: PM: early power domain resume driver flags: 6
[  407.462166] nvme 0000:02:00.0: PM: early bus resume driver flags: 0
[  407.462174] amdgpu 0000:03:00.0: PM: early bus resume driver flags: 0
[  407.462174] xhci_hcd 0000:03:00.4: PM: early bus resume driver flags: 0
[  407.462186] xhci_hcd 0000:03:00.3: PM: early bus resume driver flags: 0
[  407.462187] ccp 0000:03:00.2: PM: early bus resume driver flags: 0
[  407.462187] snd_hda_intel 0000:03:00.1: PM: early bus resume driver flags: 0
[  407.462187] snd_rn_pci_acp3x 0000:03:00.5: PM: early bus resume driver flags: 0
[  407.462207] snd_hda_intel 0000:03:00.6: PM: early bus resume driver flags: 0
[  407.462227] pcie_mp2_amd 0000:03:00.7: PM: early bus resume driver flags: 0
[  407.462344] i2c_hid_acpi i2c-ELAN074E:00: PM: early power domain resume driver flags: 0
[  407.463011] ac ACPI0003:00: PM: early power domain resume driver flags: 0
[  407.463023] amd_gpio AMDI0030:00: PM: early power domain resume driver flags: 0
[  407.463078] acpi-wmi PNP0C14:00: PM: early power domain resume driver flags: 0
[  407.463082] acpi-wmi PNP0C14:01: PM: early power domain resume driver flags: 0
[  407.463086] acpi-wmi PNP0C14:02: PM: early power domain resume driver flags: 0
[  407.463091] acpi-wmi PNP0C14:03: PM: early power domain resume driver flags: 0
[  407.463096] ucsi_acpi USBC000:00: PM: early power domain resume driver flags: 0
[  407.463100] amd_pmc AMDI0005:00: PM: early power domain resume driver flags: 0
[  407.463107] acpi-wmi PNP0C14:04: PM: early power domain resume driver flags: 0
[  407.463658] PM: early resume of devices complete after 1.872 msecs
[  407.463779] pci 0000:00:00.0: PM: bus resume driver flags: 0
[  407.463790] pci 0000:00:00.2: PM: bus resume driver flags: 0
[  407.463793] pci 0000:00:01.0: PM: bus resume driver flags: 0
[  407.463803] pci 0000:00:02.0: PM: bus resume driver flags: 0
[  407.463805] pcieport 0000:00:02.2: PM: bus resume driver flags: 5
[  407.463810] pcieport 0000:00:02.4: PM: bus resume driver flags: 5
[  407.463848] pci 0000:00:08.0: PM: bus resume driver flags: 0
[  407.463849] pcieport 0000:00:08.1: PM: bus resume driver flags: 5
[  407.463855] piix4_smbus 0000:00:14.0: PM: bus resume driver flags: 0
[  407.463870] pci 0000:00:14.3: PM: bus resume driver flags: 0
[  407.463879] pci 0000:00:18.0: PM: bus resume driver flags: 0
[  407.463887] pci 0000:00:18.1: PM: bus resume driver flags: 0
[  407.463895] pci 0000:00:18.2: PM: bus resume driver flags: 0
[  407.463903] k10temp 0000:00:18.3: PM: bus resume driver flags: 0
[  407.463912] pci 0000:00:18.4: PM: bus resume driver flags: 0
[  407.463920] pci 0000:00:18.5: PM: bus resume driver flags: 0
[  407.463928] pci 0000:00:18.6: PM: bus resume driver flags: 0
[  407.463936] pci 0000:00:18.7: PM: bus resume driver flags: 0
[  407.463963] i2c_designware AMDI0010:03: PM: power domain resume driver flags: 6
[  407.463964] iwlwifi 0000:01:00.0: PM: bus resume driver flags: 0
[  407.463982] nvme 0000:02:00.0: PM: bus resume driver flags: 0
[  407.464004] regulator regulator.0: PM: class resume driver flags: 0
[  407.464022] amdgpu 0000:03:00.0: PM: bus resume driver flags: 0
[  407.464137] ec PNP0C09:00: PM: driver resume driver flags: 0
[  407.464194] ccp 0000:03:00.2: PM: bus resume driver flags: 0
[  407.464206] xhci_hcd 0000:03:00.3: PM: bus resume driver flags: 0
[  407.464223] xhci_hcd 0000:03:00.4: PM: bus resume driver flags: 0
[  407.464264] battery PNP0C0A:00: PM: driver resume driver flags: 0
[  407.464264] snd_hda_intel 0000:03:00.6: PM: bus resume driver flags: 0
[  407.464264] snd_rn_pci_acp3x 0000:03:00.5: PM: bus resume driver flags: 0
[  407.464274] pcie_mp2_amd 0000:03:00.7: PM: bus resume driver flags: 0
[  407.464326] ieee80211 phy0: PM: class resume driver flags: 0
[  407.464326] i2c_hid_acpi i2c-ELAN074E:00: PM: power domain resume driver flags: 0
[  407.464341] usb usb1: PM: type resume driver flags: 0
[  407.464345] usb usb2: PM: type resume driver flags: 0
[  407.464446] usb usb3: PM: type resume driver flags: 0
[  407.464459] usb usb4: PM: type resume driver flags: 0
[  407.464533] usb 1-3: PM: type resume driver flags: 0
[  407.464548] usb 1-4: PM: type resume driver flags: 0
[  407.465140] button PNP0C0C:00: PM: driver resume driver flags: 0
[  407.467366] tpm_crb MSFT0101:00: PM: driver resume driver flags: 0
[  407.467375] button PNP0C0D:00: PM: driver resume driver flags: 0
[  407.467548] thermal LNXTHERM:00: PM: driver resume driver flags: 0
[  407.467609] snd_hda_codec_realtek hdaudioC1D0: PM: driver resume driver flags: 0
[  407.469013] thermal LNXTHERM:01: PM: driver resume driver flags: 0
[  407.469038] platform PNP0800:00: PM: bus resume driver flags: 0
[  407.469042] platform PNP0C09:00: PM: bus resume driver flags: 0
[  407.469046] ac ACPI0003:00: PM: power domain resume driver flags: 0
[  407.472126] platform PNP0C0A:00: PM: bus resume driver flags: 0
[  407.472131] platform HPIC0003:00: PM: bus resume driver flags: 0
[  407.472134] platform PNP0C0C:00: PM: bus resume driver flags: 0
[  407.472137] platform acpi-cpufreq: PM: bus resume driver flags: 0
[  407.472139] amd_gpio AMDI0030:00: PM: power domain resume driver flags: 0
[  407.472144] platform MSFT0101:00: PM: bus resume driver flags: 0
[  407.472146] acpi-wmi PNP0C14:00: PM: power domain resume driver flags: 0
[  407.472149] acpi-wmi PNP0C14:01: PM: power domain resume driver flags: 0
[  407.472152] acpi-wmi PNP0C14:02: PM: power domain resume driver flags: 0
[  407.472155] platform PNP0C0D:00: PM: bus resume driver flags: 0
[  407.472158] acpi-wmi PNP0C14:03: PM: power domain resume driver flags: 0
[  407.472161] platform ACPI000E:00: PM: bus resume driver flags: 0
[  407.472163] ucsi_acpi USBC000:00: PM: power domain resume driver flags: 0
[  407.472245] amd_pmc AMDI0005:00: PM: power domain resume driver flags: 0
[  407.472252] acpi-fan PNP0C0B:00: PM: bus resume driver flags: 0
[  407.472264] platform PNP0103:00: PM: bus resume driver flags: 0
[  407.472269] acpi-wmi PNP0C14:04: PM: power domain resume driver flags: 0
[  407.472282] platform rtc-efi.0: PM: bus resume driver flags: 0
[  407.472287] platform efivars.0: PM: bus resume driver flags: 0
[  407.472301] system 00:00: PM: bus resume driver flags: 0
[  407.472307] rtc_cmos 00:01: PM: bus resume driver flags: 0
[  407.472315] i8042 kbd 00:02: PM: bus resume driver flags: 0
[  407.472319] system 00:03: PM: bus resume driver flags: 0
[  407.472477] pcspkr pcspkr: PM: bus resume driver flags: 0
[  407.475703] serial8250 serial8250: PM: bus resume driver flags: 0
[  407.475712] port serial8250:0.0: PM: driver resume driver flags: 0
[  407.475717] port serial8250:0.1: PM: driver resume driver flags: 0
[  407.475721] port serial8250:0.2: PM: driver resume driver flags: 0
[  407.475725] port serial8250:0.3: PM: driver resume driver flags: 0
[  407.475733] i8042 i8042: PM: bus resume driver flags: 0
[  407.475739] atkbd serio0: PM: bus resume driver flags: 0
[  407.476603] rtc rtc0: PM: class resume driver flags: 0
[  407.476638] alarmtimer alarmtimer.0.auto: PM: bus resume driver flags: 0
[  407.476767] input input0: PM: type resume driver flags: 0
[  407.477241] leds input0::numlock: PM: class resume driver flags: 0
[  407.477245] leds input0::capslock: PM: class resume driver flags: 0
[  407.477247] leds input0::scrolllock: PM: class resume driver flags: 0
[  407.477263] platform microcode: PM: bus resume driver flags: 0
[  407.477283] input input1: PM: type resume driver flags: 0
[  407.477295] input input2: PM: type resume driver flags: 0
[  407.477300] input input3: PM: type resume driver flags: 0
[  407.478035] [drm] PCIE GART of 1024M enabled.
[  407.478036] [drm] PTB located at 0x000000F41FC00000
[  407.478137] amdgpu 0000:03:00.0: amdgpu: SMU is resuming...
[  407.480075] amdgpu 0000:03:00.0: amdgpu: dpm has been disabled
[  407.481195] amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully!
[  407.489651] usb 4-1: PM: type resume driver flags: 0
[  407.519467] usb 3-3: PM: type resume driver flags: 0
[  407.529987] input input7: PM: type resume driver flags: 0
[  407.530001] input input9: PM: type resume driver flags: 0
[  407.568705] scsi host0: PM: bus resume driver flags: 0
[  407.568732] scsi target0:0:0: PM: bus resume driver flags: 0
[  407.568750] sd 0:0:0:0: PM: bus resume driver flags: 0
[  407.594691] amdgpu 0000:03:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
[  407.594695] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[  407.594697] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[  407.594699] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[  407.594700] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[  407.594702] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[  407.594703] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[  407.594704] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[  407.594706] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[  407.594707] amdgpu 0000:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0
[  407.594708] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 8
[  407.594710] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 8
[  407.594711] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 8
[  407.594712] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 8
[  407.594714] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 8
[  407.607502] snd_hda_intel 0000:03:00.1: PM: bus resume driver flags: 0
[  407.607520] backlight amdgpu_bl0: PM: class resume driver flags: 0
[  407.607720] input input10: PM: type resume driver flags: 0
[  407.607759] sp5100-tco sp5100-tco: PM: bus resume driver flags: 0
[  407.607772] platform regulatory.0: PM: bus resume driver flags: 0
[  407.607784] acp_rn_pdm_dma acp_rn_pdm_dma.0: PM: bus resume driver flags: 0
[  407.607790] dmic-codec dmic-codec.0: PM: bus resume driver flags: 0
[  407.607794] input input11: PM: type resume driver flags: 0
[  407.607801] hp-wmi hp-wmi: PM: bus resume driver flags: 0
[  407.608644] rfkill rfkill0: PM: class resume driver flags: 0
[  407.608790] intel_rapl_msr intel_rapl_msr.0: PM: bus resume driver flags: 0
[  407.609503] input input12: PM: type resume driver flags: 0
[  407.609520] leds hda::mute: PM: class resume driver flags: 0
[  407.609543] input input13: PM: type resume driver flags: 0
[  407.609548] input input14: PM: type resume driver flags: 0
[  407.609556] acp_pdm_mach acp_pdm_mach.0: PM: bus resume driver flags: 0
[  407.609665] leds phy0-led: PM: class resume driver flags: 0
[  407.609669] rfkill rfkill1: PM: class resume driver flags: 0
[  407.609710] PM: resume of devices complete after 146.048 msecs
[  407.609894] snd_hda_codec_realtek hdaudioC1D0: PM: completing driver resume driver flags: 0
[  407.609924] snd_hda_codec_hdmi hdaudioC0D0: PM: completing driver resume driver flags: 0
[  407.609983] usb 4-1: PM: completing type resume driver flags: 0
[  407.610006] usb 1-4: PM: completing type resume driver flags: 0
[  407.610029] usb 3-3: PM: completing type resume driver flags: 0
[  407.610034] usb 1-3: PM: completing type resume driver flags: 0
[  407.610045] usb usb4: PM: completing type resume driver flags: 0
[  407.610053] usb usb3: PM: completing type resume driver flags: 0
[  407.610062] usb usb2: PM: completing type resume driver flags: 0
[  407.610072] usb usb1: PM: completing type resume driver flags: 0
[  407.610181] snd_hda_intel 0000:03:00.1: PM: completing bus resume driver flags: 0
[  407.610229] i2c_hid_acpi i2c-ELAN074E:00: PM: completing power domain resume driver flags: 0
[  407.610242] acpi-wmi PNP0C14:04: PM: completing power domain resume driver flags: 0
[  407.610244] amd_pmc AMDI0005:00: PM: completing power domain resume driver flags: 0
[  407.610246] ucsi_acpi USBC000:00: PM: completing power domain resume driver flags: 0
[  407.610248] acpi-wmi PNP0C14:03: PM: completing power domain resume driver flags: 0
[  407.610249] acpi-wmi PNP0C14:02: PM: completing power domain resume driver flags: 0
[  407.610251] acpi-wmi PNP0C14:01: PM: completing power domain resume driver flags: 0
[  407.610252] acpi-wmi PNP0C14:00: PM: completing power domain resume driver flags: 0
[  407.610254] i2c_designware AMDI0010:03: PM: completing power domain resume driver flags: 6
[  407.610318] amd_gpio AMDI0030:00: PM: completing power domain resume driver flags: 0
[  407.610321] ac ACPI0003:00: PM: completing power domain resume driver flags: 0
[  407.610323] pcie_mp2_amd 0000:03:00.7: PM: completing bus resume driver flags: 0
[  407.610325] snd_hda_intel 0000:03:00.6: PM: completing bus resume driver flags: 0
[  407.610328] snd_rn_pci_acp3x 0000:03:00.5: PM: completing bus resume driver flags: 0
[  407.610330] xhci_hcd 0000:03:00.4: PM: completing bus resume driver flags: 0
[  407.610412] xhci_hcd 0000:03:00.3: PM: completing bus resume driver flags: 0
[  407.610479] ccp 0000:03:00.2: PM: completing bus resume driver flags: 0
[  407.610481] amdgpu 0000:03:00.0: PM: completing bus resume driver flags: 0
[  407.610484] nvme 0000:02:00.0: PM: completing bus resume driver flags: 0
[  407.610486] iwlwifi 0000:01:00.0: PM: completing bus resume driver flags: 0
[  407.610488] pci 0000:00:18.7: PM: completing bus resume driver flags: 0
[  407.610489] pci 0000:00:18.6: PM: completing bus resume driver flags: 0
[  407.610490] pci 0000:00:18.5: PM: completing bus resume driver flags: 0
[  407.610491] pci 0000:00:18.4: PM: completing bus resume driver flags: 0
[  407.610493] k10temp 0000:00:18.3: PM: completing bus resume driver flags: 0
[  407.610494] pci 0000:00:18.2: PM: completing bus resume driver flags: 0
[  407.610495] pci 0000:00:18.1: PM: completing bus resume driver flags: 0
[  407.610496] pci 0000:00:18.0: PM: completing bus resume driver flags: 0
[  407.610498] pci 0000:00:14.3: PM: completing bus resume driver flags: 0
[  407.610499] piix4_smbus 0000:00:14.0: PM: completing bus resume driver flags: 0
[  407.610500] pcieport 0000:00:08.1: PM: completing bus resume driver flags: 5
[  407.610502] pci 0000:00:08.0: PM: completing bus resume driver flags: 0
[  407.610503] pcieport 0000:00:02.4: PM: completing bus resume driver flags: 5
[  407.610504] pcieport 0000:00:02.2: PM: completing bus resume driver flags: 5
[  407.610506] pci 0000:00:02.0: PM: completing bus resume driver flags: 0
[  407.610507] pci 0000:00:01.0: PM: completing bus resume driver flags: 0
[  407.610508] pci 0000:00:00.2: PM: completing bus resume driver flags: 0
[  407.610509] pci 0000:00:00.0: PM: completing bus resume driver flags: 0
[  407.611285] nvme nvme0: 8/0/0 default/read/poll queues
[  407.611745] OOM killer enabled.
[  407.611748] Restarting tasks: Starting
[  407.616441] Restarting tasks: Done
[  407.616701] random: crng reseeded on system resumption
[  407.631935] PM: suspend exit
[  407.867732] wlp1s0: authenticate with d6:92:5e:eb:ee:15 (local address=c8:15:4e:63:1d:e8)
[  407.869234] wlp1s0: send auth to d6:92:5e:eb:ee:15 (try 1/3)
[  407.915911] wlp1s0: authenticated
[  407.920208] wlp1s0: associate with d6:92:5e:eb:ee:15 (try 1/3)
[  407.930309] wlp1s0: RX AssocResp from d6:92:5e:eb:ee:15 (capab=0x1011 status=0 aid=13)
[  407.944229] wlp1s0: associated
[  408.033862] wlp1s0: Limiting TX power to 23 (23 - 0) dBm as advertised by d6:92:5e:eb:ee:15
[  412.170452] PM: suspend entry (s2idle)
[  412.443266] Filesystems sync: 0.272 seconds
[  412.443763] Freezing user space processes
[  412.445822] Freezing user space processes completed (elapsed 0.002 seconds)
[  412.445827] OOM killer disabled.
[  412.445828] Freezing remaining freezable tasks
[  412.447090] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  412.447094] printk: Suspending console(s) (use no_console_suspend to debug)
[  412.711856] snd_hda_codec_hdmi hdaudioC0D0: PM: direct-complete suspend driver flags: 0
[  412.711877] dummy 3-0037: PM: direct-complete suspend driver flags: 0
[  412.711899] dummy 3-0036: PM: direct-complete suspend driver flags: 0
[  412.711922] scsi_device 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  412.711944] scsi_host host0: PM: direct-complete suspend driver flags: 0
[  412.711955]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.711979]  ep_82: PM: direct-complete suspend driver flags: 0
[  412.712002]  ep_01: PM: direct-complete suspend driver flags: 0
[  412.712013] i2c i2c-8: PM: direct-complete suspend driver flags: 0
[  412.712026] i2c i2c-7: PM: direct-complete suspend driver flags: 0
[  412.712037] i2c i2c-6: PM: direct-complete suspend driver flags: 0
[  412.712050] i2c i2c-5: PM: direct-complete suspend driver flags: 0
[  412.712062] i2c i2c-4: PM: direct-complete suspend driver flags: 0
[  412.712075]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712091]  ep_04: PM: direct-complete suspend driver flags: 0
[  412.712314] net lo: PM: direct-complete suspend driver flags: 0
[  412.712320]  ep_84: PM: direct-complete suspend driver flags: 0
[  412.712323]  ep_03: PM: direct-complete suspend driver flags: 0
[  412.712324]  ep_83: PM: direct-complete suspend driver flags: 0
[  412.712327]  ep_02: PM: direct-complete suspend driver flags: 0
[  412.712331]  ep_82: PM: direct-complete suspend driver flags: 0
[  412.712333]  ep_01: PM: direct-complete suspend driver flags: 0
[  412.712338]  ep_81: PM: direct-complete suspend driver flags: 0
[  412.712339]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712340]  ep_83: PM: direct-complete suspend driver flags: 0
[  412.712340]  ep_03: PM: direct-complete suspend driver flags: 0
[  412.712342]  ep_82: PM: direct-complete suspend driver flags: 0
[  412.712343]  ep_02: PM: direct-complete suspend driver flags: 0
[  412.712344]  ep_81: PM: direct-complete suspend driver flags: 0
[  412.712347]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712350]  ep_87: PM: direct-complete suspend driver flags: 0
[  412.712350]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712351] uvcvideo 1-3:1.1: PM: direct-complete suspend driver flags: 0
[  412.712351]  ep_81: PM: direct-complete suspend driver flags: 0
[  412.712352]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712352]  ep_81: PM: direct-complete suspend driver flags: 0
[  412.712359]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712359] bdi 0:64: PM: direct-complete suspend driver flags: 0
[  412.712360]  ep_81: PM: direct-complete suspend driver flags: 0
[  412.712366]  ep_00: PM: direct-complete suspend driver flags: 0
[  412.712366]  ep_81: PM: direct-complete suspend driver flags: 0
[  412.712373] i2c i2c-2: PM: direct-complete suspend driver flags: 0
[  412.712375] i2c i2c-1: PM: direct-complete suspend driver flags: 0
[  412.712376] pcie_pme 0000:00:08.1:pcie001: PM: direct-complete suspend driver flags: 0
[  412.712376] pcie_bwctrl 0000:00:08.1:pcie010: PM: direct-complete suspend driver flags: 0
[  412.712377] pcie_bwctrl 0000:00:02.4:pcie010: PM: direct-complete suspend driver flags: 0
[  412.712377] pcie_pme 0000:00:02.4:pcie001: PM: direct-complete suspend driver flags: 0
[  412.712379] pcie_bwctrl 0000:00:02.2:pcie010: PM: direct-complete suspend driver flags: 0
[  412.712381] pcie_pme 0000:00:02.2:pcie001: PM: direct-complete suspend driver flags: 0
[  412.712382] pcie_mp2_amd 0000:03:00.7: PM: bus suspend driver flags: 0
[  412.712383] ccp 0000:03:00.2: PM: bus suspend driver flags: 0
[  412.712384] pci 0000:00:18.7: PM: bus suspend driver flags: 0
[  412.712384] pci 0000:00:18.6: PM: bus suspend driver flags: 0
[  412.712384] sound seq: PM: direct-complete suspend driver flags: 0
[  412.712384] pci 0000:00:18.5: PM: bus suspend driver flags: 0
[  412.712385] pci 0000:00:18.4: PM: bus suspend driver flags: 0
[  412.712385] pci 0000:00:18.2: PM: bus suspend driver flags: 0
[  412.712387] pci 0000:00:18.1: PM: bus suspend driver flags: 0
[  412.712388] pci 0000:00:18.0: PM: bus suspend driver flags: 0
[  412.712389] pci 0000:00:08.0: PM: bus suspend driver flags: 0
[  412.712390] pci 0000:00:02.0: PM: bus suspend driver flags: 0
[  412.712394] pci 0000:00:01.0: PM: bus suspend driver flags: 0
[  412.712395] pci 0000:00:00.0: PM: bus suspend driver flags: 0
[  412.712402] net br-bd31abe76a1b: PM: direct-complete suspend driver flags: 0
[  412.712405] btusb 3-3:1.1: PM: direct-complete suspend driver flags: 0
[  412.712406] net lo: PM: direct-complete suspend driver flags: 0
[  412.712407] usb 1-4:1.0: PM: direct-complete suspend driver flags: 0
[  412.712409] net docker0: PM: direct-complete suspend driver flags: 0
[  412.712413] ptp ptp0: PM: direct-complete suspend driver flags: 0
[  412.712417] usb 1-4: PM: type suspend driver flags: 0
[  412.712418]  port0.0: PM: direct-complete suspend driver flags: 0
[  412.712422]  4:variable_supply: PM: direct-complete suspend driver flags: 0
[  412.712426]  3:fixed_supply: PM: direct-complete suspend driver flags: 0
[  412.712429]  2:fixed_supply: PM: direct-complete suspend driver flags: 0
[  412.712432]  1:fixed_supply: PM: direct-complete suspend driver flags: 0
[  412.712432] usb usb2: PM: type suspend driver flags: 0
[  412.712436]  sink-capabilities: PM: direct-complete suspend driver flags: 0
[  412.712439]  1:fixed_supply: PM: direct-complete suspend driver flags: 0
[  412.712443]  source-capabilities: PM: direct-complete suspend driver flags: 0
[  412.712447] vc vcsa6: PM: direct-complete suspend driver flags: 0
[  412.712451] vc vcsu6: PM: direct-complete suspend driver flags: 0
[  412.712455] vc vcs6: PM: direct-complete suspend driver flags: 0
[  412.712457] vc vcsa5: PM: direct-complete suspend driver flags: 0
[  412.712459] vc vcsu5: PM: direct-complete suspend driver flags: 0
[  412.712461] vc vcs5: PM: direct-complete suspend driver flags: 0
[  412.712464] vc vcsa4: PM: direct-complete suspend driver flags: 0
[  412.712467] vc vcsu4: PM: direct-complete suspend driver flags: 0
[  412.712470] vc vcs4: PM: direct-complete suspend driver flags: 0
[  412.712472] vc vcsa3: PM: direct-complete suspend driver flags: 0
[  412.712475] vc vcsu3: PM: direct-complete suspend driver flags: 0
[  412.712477] vc vcs3: PM: direct-complete suspend driver flags: 0
[  412.712480] vc vcsa2: PM: direct-complete suspend driver flags: 0
[  412.712482] vc vcsu2: PM: direct-complete suspend driver flags: 0
[  412.712485] vc vcs2: PM: direct-complete suspend driver flags: 0
[  412.712487] net lo: PM: direct-complete suspend driver flags: 0
[  412.712489] net lo: PM: direct-complete suspend driver flags: 0
[  412.712492] net wlp1s0: PM: direct-complete suspend driver flags: 0
[  412.712497] rfkill rfkill1: PM: class suspend driver flags: 0
[  412.712509] leds phy0-led: PM: class suspend driver flags: 0
[  412.712515]  card2: PM: direct-complete suspend driver flags: 0
[  412.712518]  card2: PM: direct-complete suspend driver flags: 0
[  412.712519] ieee80211 phy0: PM: class suspend driver flags: 0
[  412.712520] sound controlC2: PM: direct-complete suspend driver flags: 0
[  412.712522] sound pcmC2D0c: PM: type suspend driver flags: 0
[  412.712525] wlp1s0: deauthenticating from d6:92:5e:eb:ee:15 by local choice (Reason: 3=DEAUTH_LEAVING)
[  412.712526]  acp3x-dmic-capture: PM: direct-complete suspend driver flags: 0
[  412.712530] acp_pdm_mach acp_pdm_mach.0: PM: bus suspend driver flags: 0
[  412.712550]  card1: PM: direct-complete suspend driver flags: 0
[  412.712551]  card1: PM: direct-complete suspend driver flags: 0
[  412.712553] sound controlC1: PM: direct-complete suspend driver flags: 0
[  412.712556] input event10: PM: direct-complete suspend driver flags: 0
[  412.712558] input input14: PM: type suspend driver flags: 0
[  412.712561] input event9: PM: direct-complete suspend driver flags: 0
[  412.712563] input input13: PM: type suspend driver flags: 0
[  412.712565] sound hwC1D0: PM: direct-complete suspend driver flags: 0
[  412.712567] sound pcmC1D0c: PM: type suspend driver flags: 0
[  412.712570] sound pcmC1D0p: PM: type suspend driver flags: 0
[  412.712576]  card0: PM: direct-complete suspend driver flags: 0
[  412.712577]  card0: PM: direct-complete suspend driver flags: 0
[  412.712580]  mic: PM: direct-complete suspend driver flags: 0
[  412.712583]  speaker: PM: direct-complete suspend driver flags: 0
[  412.712585] sound ctl-led: PM: direct-complete suspend driver flags: 0
[  412.712588] faux_driver snd-soc-dummy: PM: direct-complete suspend driver flags: 0
[  412.712592] leds hda::mute: PM: class suspend driver flags: 0
[  412.712655] media media0: PM: direct-complete suspend driver flags: 0
[  412.712660] video4linux video1: PM: direct-complete suspend driver flags: 0
[  412.712662] video4linux video0: PM: direct-complete suspend driver flags: 0
[  412.712665] sound controlC0: PM: direct-complete suspend driver flags: 0
[  412.712667] input event8: PM: direct-complete suspend driver flags: 0
[  412.712669] input input12: PM: type suspend driver flags: 0
[  412.712672] sound hwC0D0: PM: direct-complete suspend driver flags: 0
[  412.712672] uvcvideo 1-3:1.0: PM: direct-complete suspend driver flags: 0
[  412.712674] sound pcmC0D3p: PM: type suspend driver flags: 0
[  412.712696] usb 1-3: PM: type suspend driver flags: 0
[  412.712709] usb usb1: PM: type suspend driver flags: 0
[  412.712734] snd_hda_codec_realtek hdaudioC1D0: PM: driver suspend driver flags: 0
[  412.712739] powercap intel-rapl:0:0: PM: direct-complete suspend driver flags: 0
[  412.712742] powercap intel-rapl:0: PM: direct-complete suspend driver flags: 0
[  412.712745] powercap intel-rapl: PM: direct-complete suspend driver flags: 0
[  412.712747] hwmon hwmon8: PM: direct-complete suspend driver flags: 0
[  412.712749] thermal thermal_zone2: PM: direct-complete suspend driver flags: 0
[  412.712751] intel_rapl_msr intel_rapl_msr.0: PM: bus suspend driver flags: 0
[  412.712754] misc kvm: PM: direct-complete suspend driver flags: 0
[  412.712757] usb_power_delivery pd0: PM: direct-complete suspend driver flags: 0
[  412.712757] snd_hda_intel 0000:03:00.1: PM: bus suspend driver flags: 0
[  412.712759] typec port0: PM: direct-complete suspend driver flags: 0
[  412.712761] hwmon hwmon7: PM: direct-complete suspend driver flags: 0
[  412.712765] rfkill rfkill0: PM: class suspend driver flags: 0
[  412.712771] platform-profile platform-profile-0: PM: direct-complete suspend driver flags: 0
[  412.712773] hwmon hwmon6: PM: direct-complete suspend driver flags: 0
[  412.712776] hp-wmi hp-wmi: PM: bus suspend driver flags: 0
[  412.712778] input event7: PM: direct-complete suspend driver flags: 0
[  412.712781] input input11: PM: type suspend driver flags: 0
[  412.712783] dmic-codec dmic-codec.0: PM: bus suspend driver flags: 0
[  412.712786] acp_rn_pdm_dma acp_rn_pdm_dma.0: PM: bus suspend driver flags: 0
[  412.712789] nvmem 3-0051: PM: direct-complete suspend driver flags: 0
[  412.712793] nvmem 3-0050: PM: direct-complete suspend driver flags: 0
[  412.712796] sound timer: PM: direct-complete suspend driver flags: 0
[  412.712798] scsi_generic sg0: PM: direct-complete suspend driver flags: 0
[  412.712800] platform regulatory.0: PM: bus suspend driver flags: 0
[  412.712799] usb 3-3: PM: type suspend driver flags: 0
[  412.712803] event_source power_core: PM: direct-complete suspend driver flags: 0
[  412.712803] ee1004 3-0051: PM: direct-complete suspend driver flags: 0
[  412.712805] event_source power: PM: direct-complete suspend driver flags: 0
[  412.712807] watchdog watchdog0: PM: direct-complete suspend driver flags: 0
[  412.712808] ee1004 3-0050: PM: direct-complete suspend driver flags: 0
[  412.712809] snd_rn_pci_acp3x 0000:03:00.5: PM: bus suspend driver flags: 0
[  412.712810] misc watchdog: PM: direct-complete suspend driver flags: 0
[  412.712813] sp5100-tco sp5100-tco: PM: bus suspend driver flags: 0
[  412.712815] input event6: PM: direct-complete suspend driver flags: 0
[  412.712817] input input10: PM: type suspend driver flags: 0
[  412.712820] hwmon hwmon5: PM: direct-complete suspend driver flags: 0
[  412.712823] hwmon hwmon4: PM: direct-complete suspend driver flags: 0
[  412.712827] hwmon hwmon3: PM: direct-complete suspend driver flags: 0
[  412.712829] power_supply BAT0: PM: direct-complete suspend driver flags: 0
[  412.712830] i2c i2c-3: PM: direct-complete suspend driver flags: 0
[  412.712831] misc rfkill: PM: direct-complete suspend driver flags: 0
[  412.712833] input event5: PM: direct-complete suspend driver flags: 0
[  412.712832] k10temp 0000:00:18.3: PM: bus suspend driver flags: 0
[  412.712835] input event4: PM: direct-complete suspend driver flags: 0
[  412.712837] input event3: PM: direct-complete suspend driver flags: 0
[  412.712839] input event2: PM: direct-complete suspend driver flags: 0
[  412.712841] input event1: PM: direct-complete suspend driver flags: 0
[  412.712841] piix4_smbus 0000:00:14.0: PM: bus suspend driver flags: 0
[  412.712843] input event0: PM: direct-complete suspend driver flags: 0
[  412.712845] msr msr15: PM: direct-complete suspend driver flags: 0
[  412.712847] msr msr14: PM: direct-complete suspend driver flags: 0
[  412.712849] msr msr13: PM: direct-complete suspend driver flags: 0
[  412.712851] msr msr12: PM: direct-complete suspend driver flags: 0
[  412.712853] msr msr11: PM: direct-complete suspend driver flags: 0
[  412.712855] msr msr10: PM: direct-complete suspend driver flags: 0
[  412.712857] msr msr9: PM: direct-complete suspend driver flags: 0
[  412.712859] msr msr8: PM: direct-complete suspend driver flags: 0
[  412.712861] msr msr7: PM: direct-complete suspend driver flags: 0
[  412.712863] msr msr6: PM: direct-complete suspend driver flags: 0
[  412.712865] msr msr5: PM: direct-complete suspend driver flags: 0
[  412.712868] msr msr4: PM: direct-complete suspend driver flags: 0
[  412.712870] msr msr3: PM: direct-complete suspend driver flags: 0
[  412.712872] msr msr2: PM: direct-complete suspend driver flags: 0
[  412.712878] msr msr1: PM: direct-complete suspend driver flags: 0
[  412.712880] msr msr0: PM: direct-complete suspend driver flags: 0
[  412.712881] misc device-mapper: PM: direct-complete suspend driver flags: 0
[  412.712883] misc nvme-fabrics: PM: direct-complete suspend driver flags: 0
[  412.712886] nvme-fabrics ctl: PM: direct-complete suspend driver flags: 0
[  412.712888] misc autofs: PM: direct-complete suspend driver flags: 0
[  412.712891] bdi btrfs-1: PM: direct-complete suspend driver flags: 0
[  412.712893] block sda2: PM: direct-complete suspend driver flags: 0
[  412.712895] block sda1: PM: direct-complete suspend driver flags: 0
[  412.712897] bdi 8:0: PM: direct-complete suspend driver flags: 0
[  412.712899] block sda: PM: direct-complete suspend driver flags: 0
[  412.712902] scsi_disk 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  412.712904] bsg 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  412.712908] misc btrfs-control: PM: direct-complete suspend driver flags: 0
[  412.712911] workqueue scsi_tmf_0: PM: direct-complete suspend driver flags: 0
[  412.712912] sd 0:0:0:0: PM: bus suspend driver flags: 0
[  412.712913] vtconsole vtcon1: PM: direct-complete suspend driver flags: 0
[  412.712915] graphics fb0: PM: direct-complete suspend driver flags: 0
[  412.712918] drm_dp_aux_dev drm_dp_aux1: PM: direct-complete suspend driver flags: 0
[  412.712921] drm card0-DP-1: PM: direct-complete suspend driver flags: 0
[  412.712923] drm card0-HDMI-A-1: PM: direct-complete suspend driver flags: 0
[  412.712925] drm_dp_aux_dev drm_dp_aux0: PM: direct-complete suspend driver flags: 0
[  412.712927] backlight amdgpu_bl0: PM: class suspend driver flags: 0
[  412.712935] drm renderD128: PM: direct-complete suspend driver flags: 0
[  412.712937] hwmon hwmon2: PM: direct-complete suspend driver flags: 0
[  412.712940] kfd kfd: PM: direct-complete suspend driver flags: 0
[  412.712946] hidraw hidraw0: PM: direct-complete suspend driver flags: 0
[  412.712950] input mouse1: PM: direct-complete suspend driver flags: 0
[  412.712952] input input9: PM: type suspend driver flags: 0
[  412.712955] input mouse0: PM: direct-complete suspend driver flags: 0
[  412.712957] input input7: PM: type suspend driver flags: 0
[  412.712962] nvme-generic ng0n1: PM: direct-complete suspend driver flags: 0
[  412.712965] block nvme0n1p4: PM: direct-complete suspend driver flags: 0
[  412.712967] block nvme0n1p3: PM: direct-complete suspend driver flags: 0
[  412.712969] i2c_hid_acpi i2c-ELAN074E:00: PM: power domain suspend, may wakeup driver flags: 0
[  412.712969] block nvme0n1p2: PM: direct-complete suspend driver flags: 0
[  412.712971] block nvme0n1p1: PM: direct-complete suspend driver flags: 0
[  412.712974] bdi 259:0: PM: direct-complete suspend driver flags: 0
[  412.712977] block nvme0n1: PM: direct-complete suspend driver flags: 0
[  412.712980] hwmon hwmon1: PM: direct-complete suspend driver flags: 0
[  412.712982] nvme-subsystem nvme-subsys0: PM: direct-complete suspend driver flags: 0
[  412.712984] nvme nvme0: PM: direct-complete suspend driver flags: 0
[  412.712987] workqueue nvme-auth-wq: PM: direct-complete suspend driver flags: 0
[  412.712989] workqueue nvme-delete-wq: PM: direct-complete suspend driver flags: 0
[  412.712991] workqueue nvme-reset-wq: PM: direct-complete suspend driver flags: 0
[  412.712993] workqueue nvme-wq: PM: direct-complete suspend driver flags: 0
[  412.712995] input input3: PM: type suspend driver flags: 0
[  412.712998] thermal cooling_device16: PM: direct-complete suspend driver flags: 0
[  412.713000] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-4: PM: direct-complete suspend driver flags: 0
[  412.713003] wmi ABBC0F6A-8EA1-11D1-00A0-C90629100000: PM: direct-complete suspend driver flags: 0
[  412.713005] input input2: PM: type suspend driver flags: 0
[  412.713008] wmi_bus wmi_bus-PNP0C14:04: PM: direct-complete suspend driver flags: 0
[  412.713010] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-3: PM: direct-complete suspend driver flags: 0
[  412.713012] wmi 40D1BF71-A82D-4E59-A168-3985E03B2E87: PM: direct-complete suspend driver flags: 0
[  412.713014] wmi 431F16ED-0C2B-444C-B267-27DEB140CF9C: PM: direct-complete suspend driver flags: 0
[  412.713016] wmi 67C3371D-95A3-4C37-BB61-DD47B491DAAB: PM: direct-complete suspend driver flags: 0
[  412.713018] wmi D9F41781-F633-4400-9355-601770BEC510: PM: direct-complete suspend driver flags: 0
[  412.713021] wmi_bus wmi_bus-PNP0C14:03: PM: direct-complete suspend driver flags: 0
[  412.713023] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-2: PM: direct-complete suspend driver flags: 0
[  412.713025] wmi 1F13AB7F-6220-4210-8F8E-8BB5E71EE969: PM: direct-complete suspend driver flags: 0
[  412.713027] input input1: PM: type suspend driver flags: 0
[  412.713029] wmi_bus wmi_bus-PNP0C14:02: PM: direct-complete suspend driver flags: 0
[  412.713031] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-1: PM: direct-complete suspend driver flags: 0
[  412.713033] wmi A6FEA33E-DABF-46F5-BFC8-460D961BEC9F: PM: direct-complete suspend driver flags: 0
[  412.713035] wmi 2BC49DEF-7B15-4F05-8BB7-EE37B9547C0B: PM: direct-complete suspend driver flags: 0
[  412.713038] wmi_bus wmi_bus-PNP0C14:01: PM: direct-complete suspend driver flags: 0
[  412.713040] wmi 8232DE3D-663D-4327-A8F4-E293ADB9BF05: PM: direct-complete suspend driver flags: 0
[  412.713042] wmi 322F2028-0F84-4901-988E-015176049E2D: PM: direct-complete suspend driver flags: 0
[  412.713044] wmi 14EA9746-CE1F-4098-A0E0-7045CB4DA745: PM: direct-complete suspend driver flags: 0
[  412.713046] wmi 988D08E3-68F4-4C35-AF3E-6A1B8106F83C: PM: direct-complete suspend driver flags: 0
[  412.713047] wmi 2D114B49-2DFB-4130-B8FE-4A3C09E75133: PM: direct-complete suspend driver flags: 0
[  412.713049] wmi 1F4C91EB-DC5C-460B-951D-C7CB9B4B8D5E: PM: direct-complete suspend driver flags: 0
[  412.713051] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910: PM: direct-complete suspend driver flags: 0
[  412.713053] wmi 2B814318-4BE8-4707-9D84-A190A859B5D0: PM: direct-complete suspend driver flags: 0
[  412.713055] wmi 95F24279-4D7B-4334-9387-ACCDC67EF61C: PM: direct-complete suspend driver flags: 0
[  412.713057] wmi 5FB7F034-2C63-45E9-BE91-3D44E2C707E4: PM: direct-complete suspend driver flags: 0
[  412.713061] wmi_bus wmi_bus-PNP0C14:00: PM: direct-complete suspend driver flags: 0
[  412.713063] memory_tiering memory_tier4: PM: direct-complete suspend driver flags: 0
[  412.713065] misc cpu_dma_latency: PM: direct-complete suspend driver flags: 0
[  412.713067] platform microcode: PM: bus suspend driver flags: 0
[  412.713070] machinecheck machinecheck15: PM: direct-complete suspend driver flags: 0
[  412.713071] machinecheck machinecheck14: PM: direct-complete suspend driver flags: 0
[  412.713073] machinecheck machinecheck13: PM: direct-complete suspend driver flags: 0
[  412.713075] machinecheck machinecheck12: PM: direct-complete suspend driver flags: 0
[  412.713077] machinecheck machinecheck11: PM: direct-complete suspend driver flags: 0
[  412.713079] machinecheck machinecheck10: PM: direct-complete suspend driver flags: 0
[  412.713081] machinecheck machinecheck9: PM: direct-complete suspend driver flags: 0
[  412.713083] machinecheck machinecheck8: PM: direct-complete suspend driver flags: 0
[  412.713085] machinecheck machinecheck7: PM: direct-complete suspend driver flags: 0
[  412.713086] machinecheck machinecheck6: PM: direct-complete suspend driver flags: 0
[  412.713088] machinecheck machinecheck5: PM: direct-complete suspend driver flags: 0
[  412.713090] machinecheck machinecheck4: PM: direct-complete suspend driver flags: 0
[  412.713092] machinecheck machinecheck3: PM: direct-complete suspend driver flags: 0
[  412.713094] machinecheck machinecheck2: PM: direct-complete suspend driver flags: 0
[  412.713095] machinecheck machinecheck1: PM: direct-complete suspend driver flags: 0
[  412.713097] machinecheck machinecheck0: PM: direct-complete suspend driver flags: 0
[  412.713099]  machinecheck: PM: direct-complete suspend driver flags: 0
[  412.713101] leds input0::scrolllock: PM: class suspend driver flags: 0
[  412.713103] leds input0::capslock: PM: class suspend driver flags: 0
[  412.713106] leds input0::numlock: PM: class suspend driver flags: 0
[  412.713109] input input0: PM: type suspend driver flags: 0
[  412.713111] nvmem cmos_nvram0: PM: direct-complete suspend driver flags: 0
[  412.713114] alarmtimer alarmtimer.0.auto: PM: bus suspend, may wakeup driver flags: 0
[  412.713118] rtc rtc0: PM: class suspend driver flags: 0
[  412.713120] misc psaux: PM: direct-complete suspend driver flags: 0
[  412.713123] atkbd serio0: PM: bus suspend, may wakeup driver flags: 0
[  412.713898] nvme 0000:02:00.0: PM: bus suspend driver flags: 0
[  412.715244] i2c_designware AMDI0010:03: PM: power domain suspend driver flags: 6
[  412.717232] input mice: PM: direct-complete suspend driver flags: 0
[  412.717235] i8042 i8042: PM: bus suspend driver flags: 0
[  412.717241] misc udmabuf: PM: direct-complete suspend driver flags: 0
[  412.717243] dma_heap system: PM: direct-complete suspend driver flags: 0
[  412.717246] tpmrm tpmrm0: PM: direct-complete suspend driver flags: 0
[  412.717249] tpm tpm0: PM: direct-complete suspend driver flags: 0
[  412.717251] misc hpet: PM: direct-complete suspend driver flags: 0
[  412.717254] tty ttyS3: PM: direct-complete suspend driver flags: 0
[  412.717257] port serial8250:0.3: PM: driver suspend driver flags: 0
[  412.717260] tty ttyS2: PM: direct-complete suspend driver flags: 0
[  412.717262] port serial8250:0.2: PM: driver suspend driver flags: 0
[  412.717265] tty ttyS1: PM: direct-complete suspend driver flags: 0
[  412.717268] port serial8250:0.1: PM: driver suspend driver flags: 0
[  412.717271] tty ttyS0: PM: direct-complete suspend driver flags: 0
[  412.717274] port serial8250:0.0: PM: driver suspend driver flags: 0
[  412.717279] serial8250 serial8250: PM: bus suspend driver flags: 0
[  412.717283] tty ptmx: PM: direct-complete suspend driver flags: 0
[  412.717285] thermal thermal_zone1: PM: direct-complete suspend driver flags: 0
[  412.717288] hwmon hwmon0: PM: direct-complete suspend driver flags: 0
[  412.717290] thermal thermal_zone0: PM: direct-complete suspend driver flags: 0
[  412.717293] thermal cooling_device15: PM: direct-complete suspend driver flags: 0
[  412.717295] thermal cooling_device14: PM: direct-complete suspend driver flags: 0
[  412.717297] thermal cooling_device13: PM: direct-complete suspend driver flags: 0
[  412.717300] thermal cooling_device12: PM: direct-complete suspend driver flags: 0
[  412.717302] thermal cooling_device11: PM: direct-complete suspend driver flags: 0
[  412.717304] thermal cooling_device10: PM: direct-complete suspend driver flags: 0
[  412.717306] thermal cooling_device9: PM: direct-complete suspend driver flags: 0
[  412.717309] thermal cooling_device8: PM: direct-complete suspend driver flags: 0
[  412.717311] thermal cooling_device7: PM: direct-complete suspend driver flags: 0
[  412.717313] thermal cooling_device6: PM: direct-complete suspend driver flags: 0
[  412.717315] thermal cooling_device5: PM: direct-complete suspend driver flags: 0
[  412.717318] thermal cooling_device4: PM: direct-complete suspend driver flags: 0
[  412.717320] thermal cooling_device3: PM: direct-complete suspend driver flags: 0
[  412.717322] thermal cooling_device2: PM: direct-complete suspend driver flags: 0
[  412.717324] thermal cooling_device1: PM: direct-complete suspend driver flags: 0
[  412.717326] thermal cooling_device0: PM: direct-complete suspend driver flags: 0
[  412.717330] gpio gpiochip512: PM: direct-complete suspend driver flags: 0
[  412.717332] gpio gpiochip0: PM: direct-complete suspend driver flags: 0
[  412.717335] misc fuse: PM: direct-complete suspend driver flags: 0
[  412.717337] misc userfaultfd: PM: direct-complete suspend driver flags: 0
[  412.717340] event_source software: PM: direct-complete suspend driver flags: 0
[  412.717342] event_source tracepoint: PM: direct-complete suspend driver flags: 0
[  412.717345] event_source kprobe: PM: direct-complete suspend driver flags: 0
[  412.717347] event_source uprobe: PM: direct-complete suspend driver flags: 0
[  412.717349] event_source breakpoint: PM: direct-complete suspend driver flags: 0
[  412.717352] event_source cpu: PM: direct-complete suspend driver flags: 0
[  412.717354] event_source ibs_fetch: PM: direct-complete suspend driver flags: 0
[  412.717356] event_source ibs_op: PM: direct-complete suspend driver flags: 0
[  412.717359] event_source amd_df: PM: direct-complete suspend driver flags: 0
[  412.717361] event_source amd_l3: PM: direct-complete suspend driver flags: 0
[  412.717363] event_source amd_iommu_0: PM: direct-complete suspend driver flags: 0
[  412.717365] event_source msr: PM: direct-complete suspend driver flags: 0
[  412.717368] clockevents broadcast: PM: direct-complete suspend driver flags: 0
[  412.717370] clockevents clockevent15: PM: direct-complete suspend driver flags: 0
[  412.717373] clockevents clockevent14: PM: direct-complete suspend driver flags: 0
[  412.717375] clockevents clockevent13: PM: direct-complete suspend driver flags: 0
[  412.717377] clockevents clockevent12: PM: direct-complete suspend driver flags: 0
[  412.717379] clockevents clockevent11: PM: direct-complete suspend driver flags: 0
[  412.717382] clockevents clockevent10: PM: direct-complete suspend driver flags: 0
[  412.717384] clockevents clockevent9: PM: direct-complete suspend driver flags: 0
[  412.717386] clockevents clockevent8: PM: direct-complete suspend driver flags: 0
[  412.717388] clockevents clockevent7: PM: direct-complete suspend driver flags: 0
[  412.717391] clockevents clockevent6: PM: direct-complete suspend driver flags: 0
[  412.717393] clockevents clockevent5: PM: direct-complete suspend driver flags: 0
[  412.717395] clockevents clockevent4: PM: direct-complete suspend driver flags: 0
[  412.717397] clockevents clockevent3: PM: direct-complete suspend driver flags: 0
[  412.717399] clockevents clockevent2: PM: direct-complete suspend driver flags: 0
[  412.717402] clockevents clockevent1: PM: direct-complete suspend driver flags: 0
[  412.717404] clockevents clockevent0: PM: direct-complete suspend driver flags: 0
[  412.717406]  clockevents: PM: direct-complete suspend driver flags: 0
[  412.717408] clocksource clocksource0: PM: direct-complete suspend driver flags: 0
[  412.717411]  clocksource: PM: direct-complete suspend driver flags: 0
[  412.717413] misc snapshot: PM: direct-complete suspend driver flags: 0
[  412.717415] pcspkr pcspkr: PM: bus suspend driver flags: 0
[  412.717427] iommu ivhd0: PM: direct-complete suspend driver flags: 0
[  412.717433] misc hw_random: PM: direct-complete suspend driver flags: 0
[  412.717435] tty tty63: PM: direct-complete suspend driver flags: 0
[  412.717437] pci 0000:00:00.2: PM: bus suspend driver flags: 0
[  412.717437] tty tty62: PM: direct-complete suspend driver flags: 0
[  412.717440] tty tty61: PM: direct-complete suspend driver flags: 0
[  412.717442] tty tty60: PM: direct-complete suspend driver flags: 0
[  412.717444] tty tty59: PM: direct-complete suspend driver flags: 0
[  412.717446] tty tty58: PM: direct-complete suspend driver flags: 0
[  412.717449] tty tty57: PM: direct-complete suspend driver flags: 0
[  412.717451] tty tty56: PM: direct-complete suspend driver flags: 0
[  412.717454] tty tty55: PM: direct-complete suspend driver flags: 0
[  412.717456] tty tty54: PM: direct-complete suspend driver flags: 0
[  412.717458] tty tty53: PM: direct-complete suspend driver flags: 0
[  412.717460] tty tty52: PM: direct-complete suspend driver flags: 0
[  412.717462] tty tty51: PM: direct-complete suspend driver flags: 0
[  412.717465] tty tty50: PM: direct-complete suspend driver flags: 0
[  412.717467] tty tty49: PM: direct-complete suspend driver flags: 0
[  412.717469] tty tty48: PM: direct-complete suspend driver flags: 0
[  412.717471] tty tty47: PM: direct-complete suspend driver flags: 0
[  412.717474] tty tty46: PM: direct-complete suspend driver flags: 0
[  412.717476] tty tty45: PM: direct-complete suspend driver flags: 0
[  412.717478] tty tty44: PM: direct-complete suspend driver flags: 0
[  412.717480] tty tty43: PM: direct-complete suspend driver flags: 0
[  412.717483] tty tty42: PM: direct-complete suspend driver flags: 0
[  412.717485] tty tty41: PM: direct-complete suspend driver flags: 0
[  412.717487] tty tty40: PM: direct-complete suspend driver flags: 0
[  412.717489] tty tty39: PM: direct-complete suspend driver flags: 0
[  412.717491] tty tty38: PM: direct-complete suspend driver flags: 0
[  412.717494] tty tty37: PM: direct-complete suspend driver flags: 0
[  412.717496] tty tty36: PM: direct-complete suspend driver flags: 0
[  412.717498] tty tty35: PM: direct-complete suspend driver flags: 0
[  412.717500] tty tty34: PM: direct-complete suspend driver flags: 0
[  412.717502] tty tty33: PM: direct-complete suspend driver flags: 0
[  412.717505] tty tty32: PM: direct-complete suspend driver flags: 0
[  412.717507] tty tty31: PM: direct-complete suspend driver flags: 0
[  412.717509] tty tty30: PM: direct-complete suspend driver flags: 0
[  412.717511] tty tty29: PM: direct-complete suspend driver flags: 0
[  412.717513] tty tty28: PM: direct-complete suspend driver flags: 0
[  412.717516] tty tty27: PM: direct-complete suspend driver flags: 0
[  412.717518] tty tty26: PM: direct-complete suspend driver flags: 0
[  412.717520] tty tty25: PM: direct-complete suspend driver flags: 0
[  412.717522] tty tty24: PM: direct-complete suspend driver flags: 0
[  412.717524] tty tty23: PM: direct-complete suspend driver flags: 0
[  412.717527] tty tty22: PM: direct-complete suspend driver flags: 0
[  412.717529] tty tty21: PM: direct-complete suspend driver flags: 0
[  412.717531] tty tty20: PM: direct-complete suspend driver flags: 0
[  412.717533] tty tty19: PM: direct-complete suspend driver flags: 0
[  412.717536] tty tty18: PM: direct-complete suspend driver flags: 0
[  412.717538] tty tty17: PM: direct-complete suspend driver flags: 0
[  412.717540] tty tty16: PM: direct-complete suspend driver flags: 0
[  412.717542] tty tty15: PM: direct-complete suspend driver flags: 0
[  412.717544] tty tty14: PM: direct-complete suspend driver flags: 0
[  412.717546] tty tty13: PM: direct-complete suspend driver flags: 0
[  412.717549] tty tty12: PM: direct-complete suspend driver flags: 0
[  412.717551] tty tty11: PM: direct-complete suspend driver flags: 0
[  412.717553] tty tty10: PM: direct-complete suspend driver flags: 0
[  412.717555] tty tty9: PM: direct-complete suspend driver flags: 0
[  412.717558] tty tty8: PM: direct-complete suspend driver flags: 0
[  412.717560] tty tty7: PM: direct-complete suspend driver flags: 0
[  412.717562] tty tty6: PM: direct-complete suspend driver flags: 0
[  412.717564] tty tty5: PM: direct-complete suspend driver flags: 0
[  412.717567] tty tty4: PM: direct-complete suspend driver flags: 0
[  412.717569] tty tty3: PM: direct-complete suspend driver flags: 0
[  412.717571] tty tty2: PM: direct-complete suspend driver flags: 0
[  412.717573] tty tty1: PM: direct-complete suspend driver flags: 0
[  412.717576] vc vcsa1: PM: direct-complete suspend driver flags: 0
[  412.717578] vc vcsu1: PM: direct-complete suspend driver flags: 0
[  412.717580] vc vcs1: PM: direct-complete suspend driver flags: 0
[  412.717582] vc vcsa: PM: direct-complete suspend driver flags: 0
[  412.717585] vc vcsu: PM: direct-complete suspend driver flags: 0
[  412.717587] vc vcs: PM: direct-complete suspend driver flags: 0
[  412.717589] tty tty0: PM: direct-complete suspend driver flags: 0
[  412.717591] tty console: PM: direct-complete suspend driver flags: 0
[  412.717593] tty tty: PM: direct-complete suspend driver flags: 0
[  412.717596] mem kmsg: PM: direct-complete suspend driver flags: 0
[  412.717599] mem urandom: PM: direct-complete suspend driver flags: 0
[  412.717602] mem random: PM: direct-complete suspend driver flags: 0
[  412.717606] mem full: PM: direct-complete suspend driver flags: 0
[  412.717609] mem zero: PM: direct-complete suspend driver flags: 0
[  412.717611] mem port: PM: direct-complete suspend driver flags: 0
[  412.717613] mem null: PM: direct-complete suspend driver flags: 0
[  412.717616] mem mem: PM: direct-complete suspend driver flags: 0
[  412.717618] system 00:03: PM: bus suspend driver flags: 0
[  412.717621] i8042 kbd 00:02: PM: bus suspend driver flags: 0
[  412.717625] rtc_cmos 00:01: PM: bus suspend, may wakeup driver flags: 0
[  412.717654] system 00:00: PM: bus suspend driver flags: 0
[  412.717659] misc vga_arbiter: PM: direct-complete suspend driver flags: 0
[  412.717661] net lo: PM: direct-complete suspend driver flags: 0
[  412.717663] platform efivars.0: PM: bus suspend driver flags: 0
[  412.717666] platform rtc-efi.0: PM: bus suspend driver flags: 0
[  412.717669] edac mc: PM: direct-complete suspend driver flags: 0
[  412.717671]  edac: PM: direct-complete suspend driver flags: 0
[  412.717674] acpi ELAN074E:00: PM: direct-complete suspend driver flags: 0
[  412.717677] acpi-wmi PNP0C14:04: PM: power domain suspend driver flags: 0
[  412.717681] platform PNP0103:00: PM: bus suspend driver flags: 0
[  412.717684] acpi-fan PNP0C0B:00: PM: bus suspend driver flags: 0
[  412.717687] amd_pmc AMDI0005:00: PM: power domain suspend driver flags: 0
[  412.717691] ucsi_acpi USBC000:00: PM: power domain suspend driver flags: 0
[  412.717694] platform ACPI000E:00: PM: bus suspend driver flags: 0
[  412.717697] acpi-wmi PNP0C14:03: PM: power domain suspend driver flags: 0
[  412.717700] platform PNP0C0D:00: PM: bus suspend driver flags: 0
[  412.717703] acpi-wmi PNP0C14:02: PM: power domain suspend driver flags: 0
[  412.717707] acpi-wmi PNP0C14:01: PM: power domain suspend driver flags: 0
[  412.717711] acpi-wmi PNP0C14:00: PM: power domain suspend driver flags: 0
[  412.717714] platform MSFT0101:00: PM: bus suspend driver flags: 0
[  412.717717] amd_gpio AMDI0030:00: PM: power domain suspend driver flags: 0
[  412.717720] platform acpi-cpufreq: PM: bus suspend driver flags: 0
[  412.717723] platform PNP0C0C:00: PM: bus suspend driver flags: 0
[  412.717726] platform HPIC0003:00: PM: bus suspend driver flags: 0
[  412.717729] platform PNP0C0A:00: PM: bus suspend driver flags: 0
[  412.717731] ac ACPI0003:00: PM: power domain suspend driver flags: 0
[  412.717735] platform PNP0C09:00: PM: bus suspend driver flags: 0
[  412.717740] platform PNP0800:00: PM: bus suspend driver flags: 0
[  412.717743] pci 0000:00:14.3: PM: bus suspend driver flags: 0
[  412.717745] pci_bus 0000:03: PM: direct-complete suspend driver flags: 0
[  412.717751] pci_bus 0000:02: PM: direct-complete suspend driver flags: 0
[  412.717754] pci_bus 0000:01: PM: direct-complete suspend driver flags: 0
[  412.717764] pci_bus 0000:00: PM: direct-complete suspend driver flags: 0
[  412.717770] acpi PNP0C14:04: PM: direct-complete suspend driver flags: 0
[  412.717775] acpi PNP0103:00: PM: direct-complete suspend driver flags: 0
[  412.717778] thermal LNXTHERM:01: PM: driver suspend driver flags: 0
[  412.717789] thermal LNXTHERM:00: PM: driver suspend driver flags: 0
[  412.717794] acpi PNP0C0B:00: PM: direct-complete suspend driver flags: 0
[  412.717797] acpi LNXPOWER:09: PM: direct-complete suspend driver flags: 0
[  412.717802] acpi AMDI0005:00: PM: direct-complete suspend driver flags: 0
[  412.717804] acpi device:3f: PM: direct-complete suspend driver flags: 0
[  412.717807] acpi USBC000:00: PM: direct-complete suspend driver flags: 0
[  412.717810] acpi ACPI000C:00: PM: direct-complete suspend driver flags: 0
[  412.717812] acpi ACPI000E:00: PM: direct-complete suspend driver flags: 0
[  412.717814] acpi PNP0C02:0d: PM: direct-complete suspend driver flags: 0
[  412.717816] acpi PNP0C02:0c: PM: direct-complete suspend driver flags: 0
[  412.717818] acpi PNP0C02:0b: PM: direct-complete suspend driver flags: 0
[  412.717820] acpi PNP0C02:0a: PM: direct-complete suspend driver flags: 0
[  412.717822] acpi PNP0C02:09: PM: direct-complete suspend driver flags: 0
[  412.717824] acpi PNP0C02:08: PM: direct-complete suspend driver flags: 0
[  412.717826] acpi PNP0C02:07: PM: direct-complete suspend driver flags: 0
[  412.717828] acpi PNP0C02:06: PM: direct-complete suspend driver flags: 0
[  412.717830] acpi PNP0C02:05: PM: direct-complete suspend driver flags: 0
[  412.717832] acpi PNP0C02:04: PM: direct-complete suspend driver flags: 0
[  412.717836] acpi PNP0C02:03: PM: direct-complete suspend driver flags: 0
[  412.717838] acpi LNXPOWER:08: PM: direct-complete suspend driver flags: 0
[  412.717840] acpi LNXPOWER:07: PM: direct-complete suspend driver flags: 0
[  412.717842] acpi HPQ6007:00: PM: direct-complete suspend driver flags: 0
[  412.717843] acpi HPQ6001:00: PM: direct-complete suspend driver flags: 0
[  412.717846] acpi PNP0C14:03: PM: direct-complete suspend driver flags: 0
[  412.717847] acpi PNP0C0E:00: PM: direct-complete suspend driver flags: 0
[  412.717850] button PNP0C0D:00: PM: driver suspend, may wakeup driver flags: 0
[  412.717853] acpi PNP0C14:02: PM: direct-complete suspend driver flags: 0
[  412.717855] acpi PNP0C14:01: PM: direct-complete suspend driver flags: 0
[  412.717858] acpi PNP0C14:00: PM: direct-complete suspend driver flags: 0
[  412.717860] tpm_crb MSFT0101:00: PM: driver suspend driver flags: 0
[  412.719069] acpi AMDI0040:00: PM: direct-complete suspend driver flags: 0
[  412.719072] acpi AMDI0010:05: PM: direct-complete suspend driver flags: 0
[  412.719074] acpi AMDI0010:04: PM: direct-complete suspend driver flags: 0
[  412.719077] acpi AMDI0010:03: PM: direct-complete suspend driver flags: 0
[  412.719079] acpi AMDI0010:02: PM: direct-complete suspend driver flags: 0
[  412.719081] acpi AMDI0010:01: PM: direct-complete suspend driver flags: 0
[  412.719083] acpi AMDI0010:00: PM: direct-complete suspend driver flags: 0
[  412.719085] acpi AMDI0020:03: PM: direct-complete suspend driver flags: 0
[  412.719087] acpi AMDI0020:02: PM: direct-complete suspend driver flags: 0
[  412.719089] acpi AMDI0020:01: PM: direct-complete suspend driver flags: 0
[  412.719091] acpi AMDI0020:00: PM: direct-complete suspend driver flags: 0
[  412.719093] acpi AMDI0030:00: PM: direct-complete suspend driver flags: 0
[  412.719095] acpi AMDI0060:00: PM: direct-complete suspend driver flags: 0
[  412.719097] acpi PNP0C0F:07: PM: direct-complete suspend driver flags: 0
[  412.719099] acpi PNP0C0F:06: PM: direct-complete suspend driver flags: 0
[  412.719101] acpi PNP0C0F:05: PM: direct-complete suspend driver flags: 0
[  412.719103] acpi PNP0C0F:04: PM: direct-complete suspend driver flags: 0
[  412.719106] acpi PNP0C0F:03: PM: direct-complete suspend driver flags: 0
[  412.719108] acpi PNP0C0F:02: PM: direct-complete suspend driver flags: 0
[  412.719110] acpi PNP0C0F:01: PM: direct-complete suspend driver flags: 0
[  412.719111] acpi PNP0C0F:00: PM: direct-complete suspend driver flags: 0
[  412.719114] acpi ACPI0007:0f: PM: direct-complete suspend driver flags: 0
[  412.719116] acpi ACPI0007:0e: PM: direct-complete suspend driver flags: 0
[  412.719118] acpi ACPI0007:0d: PM: direct-complete suspend driver flags: 0
[  412.719120] acpi ACPI0007:0c: PM: direct-complete suspend driver flags: 0
[  412.719122] acpi ACPI0007:0b: PM: direct-complete suspend driver flags: 0
[  412.719124] acpi ACPI0007:0a: PM: direct-complete suspend driver flags: 0
[  412.719126] acpi ACPI0007:09: PM: direct-complete suspend driver flags: 0
[  412.719128] acpi ACPI0007:08: PM: direct-complete suspend driver flags: 0
[  412.719129] acpi ACPI0007:07: PM: direct-complete suspend driver flags: 0
[  412.719131] acpi ACPI0007:06: PM: direct-complete suspend driver flags: 0
[  412.719133] acpi ACPI0007:05: PM: direct-complete suspend driver flags: 0
[  412.719136] acpi ACPI0007:04: PM: direct-complete suspend driver flags: 0
[  412.719138] acpi ACPI0007:03: PM: direct-complete suspend driver flags: 0
[  412.719140] acpi ACPI0007:02: PM: direct-complete suspend driver flags: 0
[  412.719141] acpi ACPI0007:01: PM: direct-complete suspend driver flags: 0
[  412.719143] acpi ACPI0007:00: PM: direct-complete suspend driver flags: 0
[  412.719148] acpi ACPI0010:00: PM: direct-complete suspend driver flags: 0
[  412.719151] button PNP0C0C:00: PM: driver suspend, may wakeup driver flags: 0
[  412.719154] acpi device:3e: PM: direct-complete suspend driver flags: 0
[  412.719156] acpi device:3d: PM: direct-complete suspend driver flags: 0
[  412.719158] acpi device:3c: PM: direct-complete suspend driver flags: 0
[  412.719160] acpi device:3b: PM: direct-complete suspend driver flags: 0
[  412.719163] acpi device:3a: PM: direct-complete suspend driver flags: 0
[  412.719165] acpi device:39: PM: direct-complete suspend driver flags: 0
[  412.719167] acpi device:38: PM: direct-complete suspend driver flags: 0
[  412.719169] acpi device:37: PM: direct-complete suspend driver flags: 0
[  412.719171] acpi device:36: PM: direct-complete suspend driver flags: 0
[  412.719174] acpi device:35: PM: direct-complete suspend driver flags: 0
[  412.719176] acpi device:34: PM: direct-complete suspend driver flags: 0
[  412.719178] acpi HPIC0003:00: PM: direct-complete suspend driver flags: 0
[  412.719180] acpi PNP0500:03: PM: direct-complete suspend driver flags: 0
[  412.719182] acpi PNP0500:02: PM: direct-complete suspend driver flags: 0
[  412.719184] acpi PNP0500:01: PM: direct-complete suspend driver flags: 0
[  412.719186] acpi PNP0500:00: PM: direct-complete suspend driver flags: 0
[  412.719187] acpi device:33: PM: direct-complete suspend driver flags: 0
[  412.719190] acpi device:32: PM: direct-complete suspend driver flags: 0
[  412.719192] acpi device:31: PM: direct-complete suspend driver flags: 0
[  412.719194] acpi device:30: PM: direct-complete suspend driver flags: 0
[  412.719196] acpi device:2f: PM: direct-complete suspend driver flags: 0
[  412.719198] acpi LNXPOWER:06: PM: direct-complete suspend driver flags: 0
[  412.719200] acpi device:2e: PM: direct-complete suspend driver flags: 0
[  412.719203] acpi device:2d: PM: direct-complete suspend driver flags: 0
[  412.719205] acpi device:2c: PM: direct-complete suspend driver flags: 0
[  412.719207] acpi PNP0C02:02: PM: direct-complete suspend driver flags: 0
[  412.719209] acpi SYNA3290:00: PM: direct-complete suspend driver flags: 0
[  412.719211] acpi HPQ8001:00: PM: direct-complete suspend driver flags: 0
[  412.719215] acpi ACPI0003:00: PM: direct-complete suspend driver flags: 0
[  412.719218] ec PNP0C09:00: PM: driver suspend driver flags: 0
[  412.719221] acpi PNP0800:00: PM: direct-complete suspend driver flags: 0
[  412.719223] acpi PNP0B00:00: PM: direct-complete suspend driver flags: 0
[  412.719225] acpi PNP0100:00: PM: direct-complete suspend driver flags: 0
[  412.719227] acpi PNP0200:00: PM: direct-complete suspend driver flags: 0
[  412.719229] acpi PNP0000:00: PM: direct-complete suspend driver flags: 0
[  412.719234] acpi device:2a: PM: direct-complete suspend driver flags: 0
[  412.719236] acpi device:29: PM: direct-complete suspend driver flags: 0
[  412.719238] acpi device:28: PM: direct-complete suspend driver flags: 0
[  412.719240] acpi device:27: PM: direct-complete suspend driver flags: 0
[  412.719243] acpi device:26: PM: direct-complete suspend driver flags: 0
[  412.719245] acpi device:25: PM: direct-complete suspend driver flags: 0
[  412.719247] acpi LNXPOWER:05: PM: direct-complete suspend driver flags: 0
[  412.719249] acpi device:24: PM: direct-complete suspend driver flags: 0
[  412.719251] acpi LNXPOWER:04: PM: direct-complete suspend driver flags: 0
[  412.719253] acpi device:23: PM: direct-complete suspend driver flags: 0
[  412.719255] acpi device:22: PM: direct-complete suspend driver flags: 0
[  412.719257] acpi device:21: PM: direct-complete suspend driver flags: 0
[  412.719259] acpi device:20: PM: direct-complete suspend driver flags: 0
[  412.719261] acpi device:1f: PM: direct-complete suspend driver flags: 0
[  412.719264] acpi device:1e: PM: direct-complete suspend driver flags: 0
[  412.719266] acpi device:1d: PM: direct-complete suspend driver flags: 0
[  412.719268] acpi device:1c: PM: direct-complete suspend driver flags: 0
[  412.719270] acpi device:1b: PM: direct-complete suspend driver flags: 0
[  412.719273] acpi device:1a: PM: direct-complete suspend driver flags: 0
[  412.719275] acpi LNXPOWER:03: PM: direct-complete suspend driver flags: 0
[  412.719277] acpi LNXPOWER:02: PM: direct-complete suspend driver flags: 0
[  412.719279] acpi device:19: PM: direct-complete suspend driver flags: 0
[  412.719280] acpi device:18: PM: direct-complete suspend driver flags: 0
[  412.719283] acpi device:17: PM: direct-complete suspend driver flags: 0
[  412.719285] acpi device:16: PM: direct-complete suspend driver flags: 0
[  412.719286] acpi device:15: PM: direct-complete suspend driver flags: 0
[  412.719289] acpi device:14: PM: direct-complete suspend driver flags: 0
[  412.719291] acpi device:13: PM: direct-complete suspend driver flags: 0
[  412.719292] acpi device:12: PM: direct-complete suspend driver flags: 0
[  412.719295] acpi device:11: PM: direct-complete suspend driver flags: 0
[  412.719298] acpi device:10: PM: direct-complete suspend driver flags: 0
[  412.719300] acpi LNXPOWER:01: PM: direct-complete suspend driver flags: 0
[  412.719302] acpi LNXPOWER:00: PM: direct-complete suspend driver flags: 0
[  412.719304] acpi device:0f: PM: direct-complete suspend driver flags: 0
[  412.719306] acpi device:0e: PM: direct-complete suspend driver flags: 0
[  412.719308] acpi PNP0C02:01: PM: direct-complete suspend driver flags: 0
[  412.719311] acpi device:0d: PM: direct-complete suspend driver flags: 0
[  412.719313] acpi device:0c: PM: direct-complete suspend driver flags: 0
[  412.719315] acpi device:0b: PM: direct-complete suspend driver flags: 0
[  412.719322] acpi device:09: PM: direct-complete suspend driver flags: 0
[  412.719325] acpi device:08: PM: direct-complete suspend driver flags: 0
[  412.719327] acpi device:07: PM: direct-complete suspend driver flags: 0
[  412.719329] acpi device:06: PM: direct-complete suspend driver flags: 0
[  412.719331] acpi device:05: PM: direct-complete suspend driver flags: 0
[  412.719333] acpi device:04: PM: direct-complete suspend driver flags: 0
[  412.719335] acpi device:03: PM: direct-complete suspend driver flags: 0
[  412.719337] acpi device:02: PM: direct-complete suspend driver flags: 0
[  412.719339] acpi device:01: PM: direct-complete suspend driver flags: 0
[  412.719341] acpi device:00: PM: direct-complete suspend driver flags: 0
[  412.719343] acpi PNP0C02:00: PM: direct-complete suspend driver flags: 0
[  412.719345] acpi PNP0C01:00: PM: direct-complete suspend driver flags: 0
[  412.719363] graphics fbcon: PM: direct-complete suspend driver flags: 0
[  412.719365] workqueue blkcg_punt_bio: PM: direct-complete suspend driver flags: 0
[  412.719367]  memory_tiering: PM: direct-complete suspend driver flags: 0
[  412.719369] workqueue writeback: PM: direct-complete suspend driver flags: 0
[  412.719372] dmi id: PM: direct-complete suspend driver flags: 0
[  412.719374] vtconsole vtcon0: PM: direct-complete suspend driver flags: 0
[  412.719376] regulator regulator.0: PM: class suspend driver flags: 0
[  412.719380]  workqueue: PM: direct-complete suspend driver flags: 0
[  412.719382]  container: PM: direct-complete suspend driver flags: 0
[  412.719384] processor cpu15: PM: direct-complete suspend driver flags: 0
[  412.719386] processor cpu14: PM: direct-complete suspend driver flags: 0
[  412.719388] processor cpu13: PM: direct-complete suspend driver flags: 0
[  412.719390] processor cpu12: PM: direct-complete suspend driver flags: 0
[  412.719393] processor cpu11: PM: direct-complete suspend driver flags: 0
[  412.719395] processor cpu10: PM: direct-complete suspend driver flags: 0
[  412.719397] processor cpu9: PM: direct-complete suspend driver flags: 0
[  412.719399] processor cpu8: PM: direct-complete suspend driver flags: 0
[  412.719401] processor cpu7: PM: direct-complete suspend driver flags: 0
[  412.719404] processor cpu6: PM: direct-complete suspend driver flags: 0
[  412.719406] processor cpu5: PM: direct-complete suspend driver flags: 0
[  412.719408] processor cpu4: PM: direct-complete suspend driver flags: 0
[  412.719410] processor cpu3: PM: direct-complete suspend driver flags: 0
[  412.719412] processor cpu2: PM: direct-complete suspend driver flags: 0
[  412.719414] processor cpu1: PM: direct-complete suspend driver flags: 0
[  412.719416] processor cpu0: PM: direct-complete suspend driver flags: 0
[  412.719418]  cpu: PM: direct-complete suspend driver flags: 0
[  412.719420] node node0: PM: direct-complete suspend driver flags: 0
[  412.719422]  node: PM: direct-complete suspend driver flags: 0
[  412.719424] memory memory131: PM: direct-complete suspend driver flags: 0
[  412.719426] memory memory130: PM: direct-complete suspend driver flags: 0
[  412.719428] memory memory129: PM: direct-complete suspend driver flags: 0
[  412.719430] memory memory128: PM: direct-complete suspend driver flags: 0
[  412.719432] memory memory127: PM: direct-complete suspend driver flags: 0
[  412.719434] memory memory126: PM: direct-complete suspend driver flags: 0
[  412.719436] memory memory125: PM: direct-complete suspend driver flags: 0
[  412.719437] memory memory124: PM: direct-complete suspend driver flags: 0
[  412.719439] memory memory123: PM: direct-complete suspend driver flags: 0
[  412.719441] memory memory122: PM: direct-complete suspend driver flags: 0
[  412.719443] memory memory121: PM: direct-complete suspend driver flags: 0
[  412.719445] memory memory120: PM: direct-complete suspend driver flags: 0
[  412.719447] memory memory119: PM: direct-complete suspend driver flags: 0
[  412.719449] memory memory118: PM: direct-complete suspend driver flags: 0
[  412.719451] memory memory117: PM: direct-complete suspend driver flags: 0
[  412.719453] memory memory116: PM: direct-complete suspend driver flags: 0
[  412.719454] memory memory115: PM: direct-complete suspend driver flags: 0
[  412.719456] memory memory114: PM: direct-complete suspend driver flags: 0
[  412.719458] memory memory113: PM: direct-complete suspend driver flags: 0
[  412.719460] memory memory112: PM: direct-complete suspend driver flags: 0
[  412.719462] memory memory111: PM: direct-complete suspend driver flags: 0
[  412.719464] memory memory110: PM: direct-complete suspend driver flags: 0
[  412.719466] memory memory109: PM: direct-complete suspend driver flags: 0
[  412.719468] memory memory108: PM: direct-complete suspend driver flags: 0
[  412.719470] memory memory107: PM: direct-complete suspend driver flags: 0
[  412.719471] memory memory106: PM: direct-complete suspend driver flags: 0
[  412.719473] memory memory105: PM: direct-complete suspend driver flags: 0
[  412.719475] memory memory104: PM: direct-complete suspend driver flags: 0
[  412.719477] memory memory103: PM: direct-complete suspend driver flags: 0
[  412.719479] memory memory102: PM: direct-complete suspend driver flags: 0
[  412.719481] memory memory101: PM: direct-complete suspend driver flags: 0
[  412.719483] memory memory100: PM: direct-complete suspend driver flags: 0
[  412.719485] memory memory99: PM: direct-complete suspend driver flags: 0
[  412.719486] memory memory98: PM: direct-complete suspend driver flags: 0
[  412.719488] memory memory97: PM: direct-complete suspend driver flags: 0
[  412.719490] memory memory96: PM: direct-complete suspend driver flags: 0
[  412.719492] memory memory95: PM: direct-complete suspend driver flags: 0
[  412.719494] memory memory94: PM: direct-complete suspend driver flags: 0
[  412.719496] memory memory93: PM: direct-complete suspend driver flags: 0
[  412.719498] memory memory92: PM: direct-complete suspend driver flags: 0
[  412.719500] memory memory91: PM: direct-complete suspend driver flags: 0
[  412.719501] memory memory90: PM: direct-complete suspend driver flags: 0
[  412.719503] memory memory89: PM: direct-complete suspend driver flags: 0
[  412.719506] memory memory88: PM: direct-complete suspend driver flags: 0
[  412.719508] memory memory87: PM: direct-complete suspend driver flags: 0
[  412.719510] memory memory86: PM: direct-complete suspend driver flags: 0
[  412.719512] memory memory85: PM: direct-complete suspend driver flags: 0
[  412.719513] memory memory84: PM: direct-complete suspend driver flags: 0
[  412.719515] memory memory83: PM: direct-complete suspend driver flags: 0
[  412.719517] memory memory82: PM: direct-complete suspend driver flags: 0
[  412.719519] memory memory81: PM: direct-complete suspend driver flags: 0
[  412.719521] memory memory80: PM: direct-complete suspend driver flags: 0
[  412.719523] memory memory79: PM: direct-complete suspend driver flags: 0
[  412.719525] memory memory78: PM: direct-complete suspend driver flags: 0
[  412.719527] memory memory77: PM: direct-complete suspend driver flags: 0
[  412.719529] memory memory76: PM: direct-complete suspend driver flags: 0
[  412.719530] memory memory75: PM: direct-complete suspend driver flags: 0
[  412.719533] memory memory74: PM: direct-complete suspend driver flags: 0
[  412.719534] memory memory73: PM: direct-complete suspend driver flags: 0
[  412.719536] memory memory72: PM: direct-complete suspend driver flags: 0
[  412.719538] memory memory71: PM: direct-complete suspend driver flags: 0
[  412.719540] memory memory70: PM: direct-complete suspend driver flags: 0
[  412.719542] memory memory69: PM: direct-complete suspend driver flags: 0
[  412.719544] memory memory68: PM: direct-complete suspend driver flags: 0
[  412.719545] memory memory67: PM: direct-complete suspend driver flags: 0
[  412.719547] memory memory66: PM: direct-complete suspend driver flags: 0
[  412.719549] memory memory65: PM: direct-complete suspend driver flags: 0
[  412.719551] memory memory64: PM: direct-complete suspend driver flags: 0
[  412.719553] memory memory63: PM: direct-complete suspend driver flags: 0
[  412.719555] memory memory62: PM: direct-complete suspend driver flags: 0
[  412.719557] memory memory61: PM: direct-complete suspend driver flags: 0
[  412.719559] memory memory60: PM: direct-complete suspend driver flags: 0
[  412.719561] memory memory59: PM: direct-complete suspend driver flags: 0
[  412.719563] memory memory58: PM: direct-complete suspend driver flags: 0
[  412.719565] memory memory57: PM: direct-complete suspend driver flags: 0
[  412.719567] memory memory56: PM: direct-complete suspend driver flags: 0
[  412.719569] memory memory55: PM: direct-complete suspend driver flags: 0
[  412.719571] memory memory54: PM: direct-complete suspend driver flags: 0
[  412.719572] memory memory53: PM: direct-complete suspend driver flags: 0
[  412.719574] memory memory52: PM: direct-complete suspend driver flags: 0
[  412.719576] memory memory51: PM: direct-complete suspend driver flags: 0
[  412.719578] memory memory50: PM: direct-complete suspend driver flags: 0
[  412.719580] memory memory49: PM: direct-complete suspend driver flags: 0
[  412.719582] memory memory48: PM: direct-complete suspend driver flags: 0
[  412.719583] memory memory47: PM: direct-complete suspend driver flags: 0
[  412.719585] memory memory46: PM: direct-complete suspend driver flags: 0
[  412.719587] memory memory45: PM: direct-complete suspend driver flags: 0
[  412.719589] memory memory44: PM: direct-complete suspend driver flags: 0
[  412.719591] memory memory43: PM: direct-complete suspend driver flags: 0
[  412.719593] memory memory42: PM: direct-complete suspend driver flags: 0
[  412.719595] memory memory41: PM: direct-complete suspend driver flags: 0
[  412.719597] memory memory40: PM: direct-complete suspend driver flags: 0
[  412.719599] memory memory39: PM: direct-complete suspend driver flags: 0
[  412.719601] memory memory38: PM: direct-complete suspend driver flags: 0
[  412.719603] memory memory37: PM: direct-complete suspend driver flags: 0
[  412.719605] memory memory36: PM: direct-complete suspend driver flags: 0
[  412.719607] memory memory35: PM: direct-complete suspend driver flags: 0
[  412.719608] memory memory34: PM: direct-complete suspend driver flags: 0
[  412.719610] memory memory33: PM: direct-complete suspend driver flags: 0
[  412.719612] memory memory32: PM: direct-complete suspend driver flags: 0
[  412.719614] memory memory23: PM: direct-complete suspend driver flags: 0
[  412.719616] memory memory22: PM: direct-complete suspend driver flags: 0
[  412.719618] memory memory21: PM: direct-complete suspend driver flags: 0
[  412.719620] memory memory20: PM: direct-complete suspend driver flags: 0
[  412.719621] memory memory19: PM: direct-complete suspend driver flags: 0
[  412.719623] memory memory18: PM: direct-complete suspend driver flags: 0
[  412.719625] memory memory17: PM: direct-complete suspend driver flags: 0
[  412.719627] memory memory16: PM: direct-complete suspend driver flags: 0
[  412.719629] memory memory15: PM: direct-complete suspend driver flags: 0
[  412.719630] memory memory14: PM: direct-complete suspend driver flags: 0
[  412.719632] memory memory13: PM: direct-complete suspend driver flags: 0
[  412.719634] memory memory12: PM: direct-complete suspend driver flags: 0
[  412.719636] memory memory11: PM: direct-complete suspend driver flags: 0
[  412.719638] memory memory10: PM: direct-complete suspend driver flags: 0
[  412.719640] memory memory9: PM: direct-complete suspend driver flags: 0
[  412.719642] memory memory8: PM: direct-complete suspend driver flags: 0
[  412.719644] memory memory7: PM: direct-complete suspend driver flags: 0
[  412.719646] memory memory6: PM: direct-complete suspend driver flags: 0
[  412.719647] memory memory5: PM: direct-complete suspend driver flags: 0
[  412.719649] memory memory4: PM: direct-complete suspend driver flags: 0
[  412.719651] memory memory3: PM: direct-complete suspend driver flags: 0
[  412.719653] memory memory2: PM: direct-complete suspend driver flags: 0
[  412.719655] memory memory1: PM: direct-complete suspend driver flags: 0
[  412.719657] memory memory0: PM: direct-complete suspend driver flags: 0
[  412.719659]  memory: PM: direct-complete suspend driver flags: 0
[  412.726501] amdgpu 0000:03:00.0: PM: bus suspend driver flags: 0
[  412.729504] snd_hda_intel 0000:03:00.6: PM: bus suspend driver flags: 0
[  412.734974] iwlwifi 0000:01:00.0: PM: bus suspend driver flags: 0
[  412.735006] pcieport 0000:00:02.2: PM: bus suspend driver flags: 5
[  412.740353] xhci_hcd 0000:03:00.3: PM: bus suspend, may wakeup driver flags: 0
[  412.741103] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  412.742524] scsi target0:0:0: PM: bus suspend driver flags: 0
[  412.742533] scsi host0: PM: bus suspend driver flags: 0
[  412.742580] usb 4-1: PM: type suspend driver flags: 0
[  412.764649] usb usb4: PM: type suspend driver flags: 0
[  412.772799] pcieport 0000:00:02.4: PM: bus suspend driver flags: 5
[  412.827488] usb usb3: PM: type suspend driver flags: 0
[  412.838129] xhci_hcd 0000:03:00.4: PM: bus suspend, may wakeup driver flags: 0
[  412.838377] pcieport 0000:00:08.1: PM: bus suspend, may wakeup driver flags: 5
[  412.838559] PM: suspend of devices complete after 127.095 msecs
[  412.838570] PM: start suspend of devices complete after 391.448 msecs
[  412.839672] pcie_mp2_amd 0000:03:00.7: PM: late bus suspend driver flags: 0
[  412.839674] ccp 0000:03:00.2: PM: late bus suspend driver flags: 0
[  412.839676] pci 0000:00:18.7: PM: late bus suspend driver flags: 0
[  412.839677] pci 0000:00:18.6: PM: late bus suspend driver flags: 0
[  412.839678] pci 0000:00:18.5: PM: late bus suspend driver flags: 0
[  412.839678] pci 0000:00:18.4: PM: late bus suspend driver flags: 0
[  412.839679] pci 0000:00:18.2: PM: late bus suspend driver flags: 0
[  412.839679] pci 0000:00:18.1: PM: late bus suspend driver flags: 0
[  412.839681] pci 0000:00:18.0: PM: late bus suspend driver flags: 0
[  412.839681] pci 0000:00:08.0: PM: late bus suspend driver flags: 0
[  412.839683] pci 0000:00:02.0: PM: late bus suspend driver flags: 0
[  412.839684] pci 0000:00:01.0: PM: late bus suspend driver flags: 0
[  412.839685] pci 0000:00:00.0: PM: late bus suspend driver flags: 0
[  412.839815] iwlwifi 0000:01:00.0: PM: late bus suspend driver flags: 0
[  412.839820] snd_hda_intel 0000:03:00.1: PM: late bus suspend driver flags: 0
[  412.839835] xhci_hcd 0000:03:00.3: PM: late bus suspend, may wakeup driver flags: 0
[  412.839845] snd_hda_intel 0000:03:00.6: PM: late bus suspend driver flags: 0
[  412.839872] snd_rn_pci_acp3x 0000:03:00.5: PM: late bus suspend driver flags: 0
[  412.839885] k10temp 0000:00:18.3: PM: late bus suspend driver flags: 0
[  412.839912] piix4_smbus 0000:00:14.0: PM: late bus suspend driver flags: 0
[  412.839970] amdgpu 0000:03:00.0: PM: late bus suspend driver flags: 0
[  412.840340] xhci_hcd 0000:03:00.4: PM: late bus suspend, may wakeup driver flags: 0
[  412.840490] i2c_hid_acpi i2c-ELAN074E:00: PM: late power domain suspend, may wakeup driver flags: 0
[  412.840505] nvme 0000:02:00.0: PM: late bus suspend driver flags: 0
[  412.840520] i2c_designware AMDI0010:03: PM: late power domain suspend driver flags: 6
[  412.840648] pci 0000:00:00.2: PM: late bus suspend driver flags: 0
[  412.840732] acpi-wmi PNP0C14:04: PM: late power domain suspend driver flags: 0
[  412.840738] amd_pmc AMDI0005:00: PM: late power domain suspend driver flags: 0
[  412.840741] ucsi_acpi USBC000:00: PM: late power domain suspend driver flags: 0
[  412.840745] acpi-wmi PNP0C14:03: PM: late power domain suspend driver flags: 0
[  412.840749] acpi-wmi PNP0C14:02: PM: late power domain suspend driver flags: 0
[  412.840752] acpi-wmi PNP0C14:01: PM: late power domain suspend driver flags: 0
[  412.840755] acpi-wmi PNP0C14:00: PM: late power domain suspend driver flags: 0
[  412.840759] amd_gpio AMDI0030:00: PM: late power domain suspend driver flags: 0
[  412.840772] Disabling GPIO #9 interrupt for suspend.
[  412.840794] ac ACPI0003:00: PM: late power domain suspend driver flags: 0
[  412.840804] pci 0000:00:14.3: PM: late bus suspend driver flags: 0
[  412.840809] pcieport 0000:00:02.4: PM: late bus suspend driver flags: 5
[  412.840809] pcieport 0000:00:08.1: PM: late bus suspend, may wakeup driver flags: 5
[  412.840825] pcieport 0000:00:02.2: PM: late bus suspend driver flags: 5
[  412.841160] PM: late suspend of devices complete after 2.583 msecs
[  412.841845] pcie_mp2_amd 0000:03:00.7: PM: noirq bus suspend driver flags: 0
[  412.841847] ccp 0000:03:00.2: PM: noirq bus suspend driver flags: 0
[  412.841848] pci 0000:00:18.6: PM: noirq bus suspend driver flags: 0
[  412.841848] pci 0000:00:18.7: PM: noirq bus suspend driver flags: 0
[  412.841849] pci 0000:00:18.5: PM: noirq bus suspend driver flags: 0
[  412.841850] pci 0000:00:18.4: PM: noirq bus suspend driver flags: 0
[  412.841850] pci 0000:00:18.2: PM: noirq bus suspend driver flags: 0
[  412.841852] pci 0000:00:18.1: PM: noirq bus suspend driver flags: 0
[  412.841853] pci 0000:00:18.0: PM: noirq bus suspend driver flags: 0
[  412.841855] pci 0000:00:08.0: PM: noirq bus suspend driver flags: 0
[  412.841855] pci 0000:00:02.0: PM: noirq bus suspend driver flags: 0
[  412.841856] pci 0000:00:01.0: PM: noirq bus suspend driver flags: 0
[  412.841857] pci 0000:00:00.0: PM: noirq bus suspend driver flags: 0
[  412.841935] snd_hda_intel 0000:03:00.1: PM: noirq bus suspend driver flags: 0
[  412.841982] snd_rn_pci_acp3x 0000:03:00.5: PM: noirq bus suspend driver flags: 0
[  412.841984] iwlwifi 0000:01:00.0: PM: noirq bus suspend driver flags: 0
[  412.841989] snd_hda_intel 0000:03:00.6: PM: noirq bus suspend driver flags: 0
[  412.841999] xhci_hcd 0000:03:00.3: PM: noirq bus suspend, may wakeup driver flags: 0
[  412.842004] k10temp 0000:00:18.3: PM: noirq bus suspend driver flags: 0
[  412.842005] piix4_smbus 0000:00:14.0: PM: noirq bus suspend driver flags: 0
[  412.842202] acpi-wmi PNP0C14:04: PM: noirq power domain suspend driver flags: 0
[  412.842206] amd_pmc AMDI0005:00: PM: noirq power domain suspend driver flags: 0
[  412.842209] ucsi_acpi USBC000:00: PM: noirq power domain suspend driver flags: 0
[  412.842212] acpi-wmi PNP0C14:03: PM: noirq power domain suspend driver flags: 0
[  412.842214] acpi-wmi PNP0C14:02: PM: noirq power domain suspend driver flags: 0
[  412.842216] acpi-wmi PNP0C14:01: PM: noirq power domain suspend driver flags: 0
[  412.842218] acpi-wmi PNP0C14:00: PM: noirq power domain suspend driver flags: 0
[  412.842221] amd_gpio AMDI0030:00: PM: noirq power domain suspend driver flags: 0
[  412.842226] ac ACPI0003:00: PM: noirq power domain suspend driver flags: 0
[  412.842256] nvme 0000:02:00.0: PM: noirq bus suspend driver flags: 0
[  412.842259] pci 0000:00:00.2: PM: noirq bus suspend driver flags: 0
[  412.842260] i2c_hid_acpi i2c-ELAN074E:00: PM: noirq power domain suspend, may wakeup driver flags: 0
[  412.842264] i2c_designware AMDI0010:03: PM: noirq power domain suspend driver flags: 6
[  412.842264] pci 0000:00:14.3: PM: noirq bus suspend driver flags: 0
[  412.842283] xhci_hcd 0000:03:00.4: PM: noirq bus suspend, may wakeup driver flags: 0
[  412.842346] ec PNP0C09:00: PM: noirq driver suspend driver flags: 0
[  412.842348] ACPI: EC: interrupt blocked
[  412.855922] amdgpu 0000:03:00.0: PM: noirq bus suspend driver flags: 0
[  412.871889] pcieport 0000:00:02.2: PM: noirq bus suspend driver flags: 5
[  412.871908] pcieport 0000:00:02.4: PM: noirq bus suspend driver flags: 5
[  412.879463] pcieport 0000:00:08.1: PM: noirq bus suspend, may wakeup driver flags: 5
[  412.884462] PM: noirq suspend of devices complete after 43.009 msecs
[  412.884936] ACPI: \_SB_.PEP_: Successfully transitioned to state screen off
[  412.891758] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 ms entry
[  412.892173] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 entry
[  412.893577] amd_pmc AMDI0005:00: failed to set RTC: -22
[  412.893580] PM: suspend-to-idle
[  412.962190] PM: Triggering wakeup from IRQ 9
[  415.420648] amd_pmc: SMU idlemask s0i3: 0xc00e0eb5
[  415.420955] ACPI: PM: ACPI fixed event wakeup
[  415.420959] PM: resume from suspend-to-idle
[  415.422345] amd_pmc AMDI0005:00: Last suspend didn't reach deepest state
[  415.422573] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 exit
[  415.427618] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 ms exit
[  415.428871] ACPI: \_SB_.PEP_: Successfully transitioned to state screen on
[  415.429139] pci 0000:00:00.0: PM: noirq bus resume driver flags: 0
[  415.429176] pci 0000:00:00.2: PM: noirq bus resume driver flags: 0
[  415.429202] pci 0000:00:01.0: PM: noirq bus resume driver flags: 0
[  415.429223] pci 0000:00:02.0: PM: noirq bus resume driver flags: 0
[  415.429245] pcieport 0000:00:02.2: PM: noirq bus resume driver flags: 5
[  415.429395] pci 0000:00:08.0: PM: noirq bus resume driver flags: 0
[  415.429397] pcieport 0000:00:02.4: PM: noirq bus resume driver flags: 5
[  415.429447] pcieport 0000:00:08.1: PM: noirq bus resume driver flags: 5
[  415.429466] piix4_smbus 0000:00:14.0: PM: noirq bus resume driver flags: 0
[  415.429503] pci 0000:00:14.3: PM: noirq bus resume driver flags: 0
[  415.429513] pci 0000:00:18.0: PM: noirq bus resume driver flags: 0
[  415.429540] pci 0000:00:18.1: PM: noirq bus resume driver flags: 0
[  415.429545] pci 0000:00:18.2: PM: noirq bus resume driver flags: 0
[  415.429551] k10temp 0000:00:18.3: PM: noirq bus resume driver flags: 0
[  415.429557] pci 0000:00:18.4: PM: noirq bus resume driver flags: 0
[  415.429573] pci 0000:00:18.6: PM: noirq bus resume driver flags: 0
[  415.429574] pci 0000:00:18.5: PM: noirq bus resume driver flags: 0
[  415.429581] pci 0000:00:18.7: PM: noirq bus resume driver flags: 0
[  415.429588] i2c_designware AMDI0010:03: PM: noirq power domain resume driver flags: 6
[  415.429589] amdgpu 0000:03:00.0: PM: noirq bus resume driver flags: 0
[  415.429612] xhci_hcd 0000:03:00.4: PM: noirq bus resume driver flags: 0
[  415.429612] xhci_hcd 0000:03:00.3: PM: noirq bus resume driver flags: 0
[  415.429613] ccp 0000:03:00.2: PM: noirq bus resume driver flags: 0
[  415.429617] ec PNP0C09:00: PM: noirq driver resume driver flags: 0
[  415.429619] snd_rn_pci_acp3x 0000:03:00.5: PM: noirq bus resume driver flags: 0
[  415.429621] ACPI: EC: interrupt unblocked
[  415.429633] snd_hda_intel 0000:03:00.6: PM: noirq bus resume driver flags: 0
[  415.429657] pcie_mp2_amd 0000:03:00.7: PM: noirq bus resume driver flags: 0
[  415.429754] i2c_hid_acpi i2c-ELAN074E:00: PM: noirq power domain resume driver flags: 0
[  415.430204] ac ACPI0003:00: PM: noirq power domain resume driver flags: 0
[  415.430210] amd_gpio AMDI0030:00: PM: noirq power domain resume driver flags: 0
[  415.430215] acpi-wmi PNP0C14:00: PM: noirq power domain resume driver flags: 0
[  415.430217] acpi-wmi PNP0C14:01: PM: noirq power domain resume driver flags: 0
[  415.430220] acpi-wmi PNP0C14:02: PM: noirq power domain resume driver flags: 0
[  415.430225] acpi-wmi PNP0C14:03: PM: noirq power domain resume driver flags: 0
[  415.430230] ucsi_acpi USBC000:00: PM: noirq power domain resume driver flags: 0
[  415.430235] amd_pmc AMDI0005:00: PM: noirq power domain resume driver flags: 0
[  415.430241] acpi-wmi PNP0C14:04: PM: noirq power domain resume driver flags: 0
[  415.430398] i8042 i8042: PM: noirq driver resume driver flags: 0
[  415.440765] nvme 0000:02:00.0: PM: noirq bus resume driver flags: 0
[  415.441808] iwlwifi 0000:01:00.0: PM: noirq bus resume driver flags: 0
[  415.441809] snd_hda_intel 0000:03:00.1: PM: noirq bus resume driver flags: 0
[  415.468770] PM: noirq resume of devices complete after 39.894 msecs
[  415.469231] pci 0000:00:01.0: PM: early bus resume driver flags: 0
[  415.469231] pci 0000:00:00.2: PM: early bus resume driver flags: 0
[  415.469231] pci 0000:00:00.0: PM: early bus resume driver flags: 0
[  415.469249] pcieport 0000:00:02.2: PM: early bus resume driver flags: 5
[  415.469249] pci 0000:00:02.0: PM: early bus resume driver flags: 0
[  415.469250] pci 0000:00:08.0: PM: early bus resume driver flags: 0
[  415.469249] pcieport 0000:00:02.4: PM: early bus resume driver flags: 5
[  415.469266] pcieport 0000:00:08.1: PM: early bus resume driver flags: 5
[  415.469267] pci 0000:00:14.3: PM: early bus resume driver flags: 0
[  415.469267] pci 0000:00:18.0: PM: early bus resume driver flags: 0
[  415.469268] pci 0000:00:18.1: PM: early bus resume driver flags: 0
[  415.469267] piix4_smbus 0000:00:14.0: PM: early bus resume driver flags: 0
[  415.469296] pci 0000:00:18.4: PM: early bus resume driver flags: 0
[  415.469297] pci 0000:00:18.5: PM: early bus resume driver flags: 0
[  415.469297] pci 0000:00:18.6: PM: early bus resume driver flags: 0
[  415.469297] pci 0000:00:18.7: PM: early bus resume driver flags: 0
[  415.469297] pci 0000:00:18.2: PM: early bus resume driver flags: 0
[  415.469298] i2c_designware AMDI0010:03: PM: early power domain resume driver flags: 6
[  415.469297] k10temp 0000:00:18.3: PM: early bus resume driver flags: 0
[  415.469298] iwlwifi 0000:01:00.0: PM: early bus resume driver flags: 0
[  415.469306] nvme 0000:02:00.0: PM: early bus resume driver flags: 0
[  415.469308] amdgpu 0000:03:00.0: PM: early bus resume driver flags: 0
[  415.469309] xhci_hcd 0000:03:00.3: PM: early bus resume driver flags: 0
[  415.469309] ccp 0000:03:00.2: PM: early bus resume driver flags: 0
[  415.469310] xhci_hcd 0000:03:00.4: PM: early bus resume driver flags: 0
[  415.469311] snd_hda_intel 0000:03:00.6: PM: early bus resume driver flags: 0
[  415.469311] snd_rn_pci_acp3x 0000:03:00.5: PM: early bus resume driver flags: 0
[  415.469312] pcie_mp2_amd 0000:03:00.7: PM: early bus resume driver flags: 0
[  415.469317] snd_hda_intel 0000:03:00.1: PM: early bus resume driver flags: 0
[  415.469402] i2c_hid_acpi i2c-ELAN074E:00: PM: early power domain resume driver flags: 0
[  415.469977] ac ACPI0003:00: PM: early power domain resume driver flags: 0
[  415.469986] amd_gpio AMDI0030:00: PM: early power domain resume driver flags: 0
[  415.470025] acpi-wmi PNP0C14:00: PM: early power domain resume driver flags: 0
[  415.470028] acpi-wmi PNP0C14:01: PM: early power domain resume driver flags: 0
[  415.470032] acpi-wmi PNP0C14:02: PM: early power domain resume driver flags: 0
[  415.470036] acpi-wmi PNP0C14:03: PM: early power domain resume driver flags: 0
[  415.470041] ucsi_acpi USBC000:00: PM: early power domain resume driver flags: 0
[  415.470045] amd_pmc AMDI0005:00: PM: early power domain resume driver flags: 0
[  415.470051] acpi-wmi PNP0C14:04: PM: early power domain resume driver flags: 0
[  415.470461] PM: early resume of devices complete after 1.400 msecs
[  415.470538] pci 0000:00:00.0: PM: bus resume driver flags: 0
[  415.470545] pci 0000:00:01.0: PM: bus resume driver flags: 0
[  415.470545] pci 0000:00:00.2: PM: bus resume driver flags: 0
[  415.470548] pci 0000:00:02.0: PM: bus resume driver flags: 0
[  415.470551] pcieport 0000:00:02.2: PM: bus resume driver flags: 5
[  415.470556] pcieport 0000:00:08.1: PM: bus resume driver flags: 5
[  415.470556] pci 0000:00:08.0: PM: bus resume driver flags: 0
[  415.470556] pcieport 0000:00:02.4: PM: bus resume driver flags: 5
[  415.470561] piix4_smbus 0000:00:14.0: PM: bus resume driver flags: 0
[  415.470572] pci 0000:00:14.3: PM: bus resume driver flags: 0
[  415.470576] pci 0000:00:18.0: PM: bus resume driver flags: 0
[  415.470577] pci 0000:00:18.1: PM: bus resume driver flags: 0
[  415.470584] pci 0000:00:18.2: PM: bus resume driver flags: 0
[  415.470585] k10temp 0000:00:18.3: PM: bus resume driver flags: 0
[  415.470587] pci 0000:00:18.6: PM: bus resume driver flags: 0
[  415.470588] pci 0000:00:18.5: PM: bus resume driver flags: 0
[  415.470587] pci 0000:00:18.4: PM: bus resume driver flags: 0
[  415.470588] pci 0000:00:18.7: PM: bus resume driver flags: 0
[  415.470590] i2c_designware AMDI0010:03: PM: power domain resume driver flags: 6
[  415.470601] iwlwifi 0000:01:00.0: PM: bus resume driver flags: 0
[  415.470602] nvme 0000:02:00.0: PM: bus resume driver flags: 0
[  415.470612] i2c_hid_acpi i2c-ELAN074E:00: PM: power domain resume driver flags: 0
[  415.470690] regulator regulator.0: PM: class resume driver flags: 0
[  415.470769] ec PNP0C09:00: PM: driver resume driver flags: 0
[  415.470871] battery PNP0C0A:00: PM: driver resume driver flags: 0
[  415.470871] ieee80211 phy0: PM: class resume driver flags: 0
[  415.470949] button PNP0C0C:00: PM: driver resume driver flags: 0
[  415.471166] tpm_crb MSFT0101:00: PM: driver resume driver flags: 0
[  415.471171] button PNP0C0D:00: PM: driver resume driver flags: 0
[  415.471189] amdgpu 0000:03:00.0: PM: bus resume driver flags: 0
[  415.471197] ccp 0000:03:00.2: PM: bus resume driver flags: 0
[  415.471203] xhci_hcd 0000:03:00.3: PM: bus resume driver flags: 0
[  415.471217] xhci_hcd 0000:03:00.4: PM: bus resume driver flags: 0
[  415.471232] snd_rn_pci_acp3x 0000:03:00.5: PM: bus resume driver flags: 0
[  415.471239] snd_hda_intel 0000:03:00.6: PM: bus resume driver flags: 0
[  415.471258] pcie_mp2_amd 0000:03:00.7: PM: bus resume driver flags: 0
[  415.472480] thermal LNXTHERM:00: PM: driver resume driver flags: 0
[  415.472499] thermal LNXTHERM:01: PM: driver resume driver flags: 0
[  415.472526] usb usb1: PM: type resume driver flags: 0
[  415.472527] usb usb2: PM: type resume driver flags: 0
[  415.472529] platform PNP0800:00: PM: bus resume driver flags: 0
[  415.472533] platform PNP0C09:00: PM: bus resume driver flags: 0
[  415.472536] ac ACPI0003:00: PM: power domain resume driver flags: 0
[  415.472539] usb usb3: PM: type resume driver flags: 0
[  415.472552] usb usb4: PM: type resume driver flags: 0
[  415.472674] [drm] PCIE GART of 1024M enabled.
[  415.472675] [drm] PTB located at 0x000000F41FC00000
[  415.472958] usb 1-3: PM: type resume driver flags: 0
[  415.472969] usb 1-4: PM: type resume driver flags: 0
[  415.473232] amdgpu 0000:03:00.0: amdgpu: SMU is resuming...
[  415.475639] amdgpu 0000:03:00.0: amdgpu: dpm has been disabled
[  415.475684] snd_hda_codec_realtek hdaudioC1D0: PM: driver resume driver flags: 0
[  415.475795] platform PNP0C0A:00: PM: bus resume driver flags: 0
[  415.475797] platform HPIC0003:00: PM: bus resume driver flags: 0
[  415.475799] platform PNP0C0C:00: PM: bus resume driver flags: 0
[  415.475801] platform acpi-cpufreq: PM: bus resume driver flags: 0
[  415.475803] amd_gpio AMDI0030:00: PM: power domain resume driver flags: 0
[  415.475806] platform MSFT0101:00: PM: bus resume driver flags: 0
[  415.475807] acpi-wmi PNP0C14:00: PM: power domain resume driver flags: 0
[  415.475809] acpi-wmi PNP0C14:01: PM: power domain resume driver flags: 0
[  415.475811] acpi-wmi PNP0C14:02: PM: power domain resume driver flags: 0
[  415.475813] platform PNP0C0D:00: PM: bus resume driver flags: 0
[  415.475816] acpi-wmi PNP0C14:03: PM: power domain resume driver flags: 0
[  415.475819] platform ACPI000E:00: PM: bus resume driver flags: 0
[  415.475822] ucsi_acpi USBC000:00: PM: power domain resume driver flags: 0
[  415.475960] amd_pmc AMDI0005:00: PM: power domain resume driver flags: 0
[  415.475962] acpi-fan PNP0C0B:00: PM: bus resume driver flags: 0
[  415.475966] platform PNP0103:00: PM: bus resume driver flags: 0
[  415.475967] acpi-wmi PNP0C14:04: PM: power domain resume driver flags: 0
[  415.475972] platform rtc-efi.0: PM: bus resume driver flags: 0
[  415.475974] platform efivars.0: PM: bus resume driver flags: 0
[  415.475979] system 00:00: PM: bus resume driver flags: 0
[  415.475981] rtc_cmos 00:01: PM: bus resume driver flags: 0
[  415.475985] i8042 kbd 00:02: PM: bus resume driver flags: 0
[  415.475987] system 00:03: PM: bus resume driver flags: 0
[  415.476041] pcspkr pcspkr: PM: bus resume driver flags: 0
[  415.476080] serial8250 serial8250: PM: bus resume driver flags: 0
[  415.476085] port serial8250:0.0: PM: driver resume driver flags: 0
[  415.476088] port serial8250:0.1: PM: driver resume driver flags: 0
[  415.476091] port serial8250:0.2: PM: driver resume driver flags: 0
[  415.476094] port serial8250:0.3: PM: driver resume driver flags: 0
[  415.476100] i8042 i8042: PM: bus resume driver flags: 0
[  415.476105] atkbd serio0: PM: bus resume driver flags: 0
[  415.476110] rtc rtc0: PM: class resume driver flags: 0
[  415.476113] alarmtimer alarmtimer.0.auto: PM: bus resume driver flags: 0
[  415.476117] input input0: PM: type resume driver flags: 0
[  415.476122] leds input0::numlock: PM: class resume driver flags: 0
[  415.476124] leds input0::capslock: PM: class resume driver flags: 0
[  415.476126] leds input0::scrolllock: PM: class resume driver flags: 0
[  415.476139] platform microcode: PM: bus resume driver flags: 0
[  415.476156] input input1: PM: type resume driver flags: 0
[  415.476165] input input2: PM: type resume driver flags: 0
[  415.476169] input input3: PM: type resume driver flags: 0
[  415.477396] amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully!
[  415.484323] nvme nvme0: 8/0/0 default/read/poll queues
[  415.496304] usb 4-1: PM: type resume driver flags: 0
[  415.527517] usb 3-3: PM: type resume driver flags: 0
[  415.534294] input input7: PM: type resume driver flags: 0
[  415.534306] input input9: PM: type resume driver flags: 0
[  415.576911] scsi host0: PM: bus resume driver flags: 0
[  415.576932] scsi target0:0:0: PM: bus resume driver flags: 0
[  415.576951] sd 0:0:0:0: PM: bus resume driver flags: 0
[  415.629077] amdgpu 0000:03:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
[  415.629080] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[  415.629081] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[  415.629082] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[  415.629083] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[  415.629084] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[  415.629085] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[  415.629086] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[  415.629087] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[  415.629088] amdgpu 0000:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0
[  415.629089] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 8
[  415.629090] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 8
[  415.629092] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 8
[  415.629092] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 8
[  415.629093] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 8
[  415.641010] snd_hda_intel 0000:03:00.1: PM: bus resume driver flags: 0
[  415.641360] backlight amdgpu_bl0: PM: class resume driver flags: 0
[  415.641582] input input10: PM: type resume driver flags: 0
[  415.641607] sp5100-tco sp5100-tco: PM: bus resume driver flags: 0
[  415.641622] platform regulatory.0: PM: bus resume driver flags: 0
[  415.641635] acp_rn_pdm_dma acp_rn_pdm_dma.0: PM: bus resume driver flags: 0
[  415.641642] dmic-codec dmic-codec.0: PM: bus resume driver flags: 0
[  415.641647] input input11: PM: type resume driver flags: 0
[  415.641655] hp-wmi hp-wmi: PM: bus resume driver flags: 0
[  415.642544] rfkill rfkill0: PM: class resume driver flags: 0
[  415.642588] intel_rapl_msr intel_rapl_msr.0: PM: bus resume driver flags: 0
[  415.643275] input input12: PM: type resume driver flags: 0
[  415.643286] leds hda::mute: PM: class resume driver flags: 0
[  415.643311] input input13: PM: type resume driver flags: 0
[  415.643315] input input14: PM: type resume driver flags: 0
[  415.643323] acp_pdm_mach acp_pdm_mach.0: PM: bus resume driver flags: 0
[  415.643339] leds phy0-led: PM: class resume driver flags: 0
[  415.643342] rfkill rfkill1: PM: class resume driver flags: 0
[  415.643384] PM: resume of devices complete after 172.920 msecs
[  415.643536] snd_hda_codec_realtek hdaudioC1D0: PM: completing driver resume driver flags: 0
[  415.643543] snd_hda_codec_hdmi hdaudioC0D0: PM: completing driver resume driver flags: 0
[  415.643594] usb 4-1: PM: completing type resume driver flags: 0
[  415.643612] usb 1-4: PM: completing type resume driver flags: 0
[  415.643619] usb 3-3: PM: completing type resume driver flags: 0
[  415.643624] usb 1-3: PM: completing type resume driver flags: 0
[  415.643634] usb usb4: PM: completing type resume driver flags: 0
[  415.643642] usb usb3: PM: completing type resume driver flags: 0
[  415.643650] usb usb2: PM: completing type resume driver flags: 0
[  415.643660] usb usb1: PM: completing type resume driver flags: 0
[  415.643777] snd_hda_intel 0000:03:00.1: PM: completing bus resume driver flags: 0
[  415.643850] i2c_hid_acpi i2c-ELAN074E:00: PM: completing power domain resume driver flags: 0
[  415.643856] acpi-wmi PNP0C14:04: PM: completing power domain resume driver flags: 0
[  415.643860] amd_pmc AMDI0005:00: PM: completing power domain resume driver flags: 0
[  415.643862] ucsi_acpi USBC000:00: PM: completing power domain resume driver flags: 0
[  415.643865] acpi-wmi PNP0C14:03: PM: completing power domain resume driver flags: 0
[  415.643868] acpi-wmi PNP0C14:02: PM: completing power domain resume driver flags: 0
[  415.643869] acpi-wmi PNP0C14:01: PM: completing power domain resume driver flags: 0
[  415.643871] acpi-wmi PNP0C14:00: PM: completing power domain resume driver flags: 0
[  415.643874] i2c_designware AMDI0010:03: PM: completing power domain resume driver flags: 6
[  415.643877] amd_gpio AMDI0030:00: PM: completing power domain resume driver flags: 0
[  415.643882] ac ACPI0003:00: PM: completing power domain resume driver flags: 0
[  415.643885] pcie_mp2_amd 0000:03:00.7: PM: completing bus resume driver flags: 0
[  415.643887] snd_hda_intel 0000:03:00.6: PM: completing bus resume driver flags: 0
[  415.643891] snd_rn_pci_acp3x 0000:03:00.5: PM: completing bus resume driver flags: 0
[  415.643894] xhci_hcd 0000:03:00.4: PM: completing bus resume driver flags: 0
[  415.643995] xhci_hcd 0000:03:00.3: PM: completing bus resume driver flags: 0
[  415.644075] ccp 0000:03:00.2: PM: completing bus resume driver flags: 0
[  415.644077] amdgpu 0000:03:00.0: PM: completing bus resume driver flags: 0
[  415.644081] nvme 0000:02:00.0: PM: completing bus resume driver flags: 0
[  415.644084] iwlwifi 0000:01:00.0: PM: completing bus resume driver flags: 0
[  415.644087] pci 0000:00:18.7: PM: completing bus resume driver flags: 0
[  415.644089] pci 0000:00:18.6: PM: completing bus resume driver flags: 0
[  415.644090] pci 0000:00:18.5: PM: completing bus resume driver flags: 0
[  415.644092] pci 0000:00:18.4: PM: completing bus resume driver flags: 0
[  415.644094] k10temp 0000:00:18.3: PM: completing bus resume driver flags: 0
[  415.644095] pci 0000:00:18.2: PM: completing bus resume driver flags: 0
[  415.644098] pci 0000:00:18.1: PM: completing bus resume driver flags: 0
[  415.644099] pci 0000:00:18.0: PM: completing bus resume driver flags: 0
[  415.644101] pci 0000:00:14.3: PM: completing bus resume driver flags: 0
[  415.644103] piix4_smbus 0000:00:14.0: PM: completing bus resume driver flags: 0
[  415.644104] pcieport 0000:00:08.1: PM: completing bus resume driver flags: 5
[  415.644107] pci 0000:00:08.0: PM: completing bus resume driver flags: 0
[  415.644109] pcieport 0000:00:02.4: PM: completing bus resume driver flags: 5
[  415.644111] pcieport 0000:00:02.2: PM: completing bus resume driver flags: 5
[  415.644113] pci 0000:00:02.0: PM: completing bus resume driver flags: 0
[  415.644114] pci 0000:00:01.0: PM: completing bus resume driver flags: 0
[  415.644116] pci 0000:00:00.2: PM: completing bus resume driver flags: 0
[  415.644118] pci 0000:00:00.0: PM: completing bus resume driver flags: 0
[  415.645611] OOM killer enabled.
[  415.645615] Restarting tasks: Starting
[  415.647339] Restarting tasks: Done
[  415.647376] random: crng reseeded on system resumption
[  415.662626] PM: suspend exit
[  415.889960] wlp1s0: authenticate with d6:92:5e:eb:ee:15 (local address=c8:15:4e:63:1d:e8)
[  415.891467] wlp1s0: send auth to d6:92:5e:eb:ee:15 (try 1/3)
[  415.938640] wlp1s0: authenticated
[  415.943755] wlp1s0: associate with d6:92:5e:eb:ee:15 (try 1/3)
[  415.951411] wlp1s0: RX AssocResp from d6:92:5e:eb:ee:15 (capab=0x1011 status=0 aid=21)
[  415.963786] wlp1s0: associated
[  416.012734] wlp1s0: Limiting TX power to 23 (23 - 0) dBm as advertised by d6:92:5e:eb:ee:15
[  419.741790] PM: suspend entry (s2idle)
[  420.055335] Filesystems sync: 0.313 seconds
[  420.055818] Freezing user space processes
[  420.057833] Freezing user space processes completed (elapsed 0.002 seconds)
[  420.057837] OOM killer disabled.
[  420.057839] Freezing remaining freezable tasks
[  420.059100] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  420.059102] printk: Suspending console(s) (use no_console_suspend to debug)
[  420.313413] snd_hda_codec_hdmi hdaudioC0D0: PM: direct-complete suspend driver flags: 0
[  420.313432] dummy 3-0037: PM: direct-complete suspend driver flags: 0
[  420.313456] dummy 3-0036: PM: direct-complete suspend driver flags: 0
[  420.313479] scsi_device 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  420.313489] scsi_host host0: PM: direct-complete suspend driver flags: 0
[  420.313499]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313523]  ep_82: PM: direct-complete suspend driver flags: 0
[  420.313545]  ep_01: PM: direct-complete suspend driver flags: 0
[  420.313568] i2c i2c-8: PM: direct-complete suspend driver flags: 0
[  420.313579] i2c i2c-7: PM: direct-complete suspend driver flags: 0
[  420.313592] i2c i2c-6: PM: direct-complete suspend driver flags: 0
[  420.313603] i2c i2c-5: PM: direct-complete suspend driver flags: 0
[  420.313614] i2c i2c-4: PM: direct-complete suspend driver flags: 0
[  420.313625]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313641]  ep_04: PM: direct-complete suspend driver flags: 0
[  420.313861] net lo: PM: direct-complete suspend driver flags: 0
[  420.313871]  ep_84: PM: direct-complete suspend driver flags: 0
[  420.313874]  ep_03: PM: direct-complete suspend driver flags: 0
[  420.313875]  ep_83: PM: direct-complete suspend driver flags: 0
[  420.313878]  ep_02: PM: direct-complete suspend driver flags: 0
[  420.313880]  ep_82: PM: direct-complete suspend driver flags: 0
[  420.313883]  ep_01: PM: direct-complete suspend driver flags: 0
[  420.313887]  ep_81: PM: direct-complete suspend driver flags: 0
[  420.313888]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313889]  ep_83: PM: direct-complete suspend driver flags: 0
[  420.313889]  ep_03: PM: direct-complete suspend driver flags: 0
[  420.313891]  ep_82: PM: direct-complete suspend driver flags: 0
[  420.313892]  ep_02: PM: direct-complete suspend driver flags: 0
[  420.313892]  ep_81: PM: direct-complete suspend driver flags: 0
[  420.313895]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313899]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313899]  ep_87: PM: direct-complete suspend driver flags: 0
[  420.313899] uvcvideo 1-3:1.1: PM: direct-complete suspend driver flags: 0
[  420.313900]  ep_81: PM: direct-complete suspend driver flags: 0
[  420.313901]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313902]  ep_81: PM: direct-complete suspend driver flags: 0
[  420.313909]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313909] bdi 0:64: PM: direct-complete suspend driver flags: 0
[  420.313910]  ep_81: PM: direct-complete suspend driver flags: 0
[  420.313914]  ep_00: PM: direct-complete suspend driver flags: 0
[  420.313916]  ep_81: PM: direct-complete suspend driver flags: 0
[  420.313923] i2c i2c-2: PM: direct-complete suspend driver flags: 0
[  420.313924] i2c i2c-1: PM: direct-complete suspend driver flags: 0
[  420.313925] pcie_bwctrl 0000:00:08.1:pcie010: PM: direct-complete suspend driver flags: 0
[  420.313925] pcie_pme 0000:00:08.1:pcie001: PM: direct-complete suspend driver flags: 0
[  420.313925] pcie_bwctrl 0000:00:02.4:pcie010: PM: direct-complete suspend driver flags: 0
[  420.313927] pcie_pme 0000:00:02.4:pcie001: PM: direct-complete suspend driver flags: 0
[  420.313930] pcie_bwctrl 0000:00:02.2:pcie010: PM: direct-complete suspend driver flags: 0
[  420.313930] pcie_pme 0000:00:02.2:pcie001: PM: direct-complete suspend driver flags: 0
[  420.313931] pcie_mp2_amd 0000:03:00.7: PM: bus suspend driver flags: 0
[  420.313932] ccp 0000:03:00.2: PM: bus suspend driver flags: 0
[  420.313934] pci 0000:00:18.7: PM: bus suspend driver flags: 0
[  420.313935] pci 0000:00:18.6: PM: bus suspend driver flags: 0
[  420.313935] sound seq: PM: direct-complete suspend driver flags: 0
[  420.313936] pci 0000:00:18.5: PM: bus suspend driver flags: 0
[  420.313936] pci 0000:00:18.4: PM: bus suspend driver flags: 0
[  420.313936] pci 0000:00:18.2: PM: bus suspend driver flags: 0
[  420.313939] pci 0000:00:18.1: PM: bus suspend driver flags: 0
[  420.313939] pci 0000:00:18.0: PM: bus suspend driver flags: 0
[  420.313940] pci 0000:00:08.0: PM: bus suspend driver flags: 0
[  420.313942] pci 0000:00:02.0: PM: bus suspend driver flags: 0
[  420.313943] pci 0000:00:01.0: PM: bus suspend driver flags: 0
[  420.313943] pci 0000:00:00.0: PM: bus suspend driver flags: 0
[  420.313950] net br-bd31abe76a1b: PM: direct-complete suspend driver flags: 0
[  420.313954] net lo: PM: direct-complete suspend driver flags: 0
[  420.313955] btusb 3-3:1.1: PM: direct-complete suspend driver flags: 0
[  420.313956] usb 1-4:1.0: PM: direct-complete suspend driver flags: 0
[  420.313957] net docker0: PM: direct-complete suspend driver flags: 0
[  420.313961] ptp ptp0: PM: direct-complete suspend driver flags: 0
[  420.313969]  port0.0: PM: direct-complete suspend driver flags: 0
[  420.313972] usb 1-4: PM: type suspend driver flags: 0
[  420.313973]  4:variable_supply: PM: direct-complete suspend driver flags: 0
[  420.313975]  3:fixed_supply: PM: direct-complete suspend driver flags: 0
[  420.313977]  2:fixed_supply: PM: direct-complete suspend driver flags: 0
[  420.313978] usb usb2: PM: type suspend driver flags: 0
[  420.313979]  1:fixed_supply: PM: direct-complete suspend driver flags: 0
[  420.313982]  sink-capabilities: PM: direct-complete suspend driver flags: 0
[  420.313984]  1:fixed_supply: PM: direct-complete suspend driver flags: 0
[  420.313986]  source-capabilities: PM: direct-complete suspend driver flags: 0
[  420.313988] vc vcsa6: PM: direct-complete suspend driver flags: 0
[  420.313990] vc vcsu6: PM: direct-complete suspend driver flags: 0
[  420.313993] vc vcs6: PM: direct-complete suspend driver flags: 0
[  420.313996] vc vcsa5: PM: direct-complete suspend driver flags: 0
[  420.313999] vc vcsu5: PM: direct-complete suspend driver flags: 0
[  420.314003] vc vcs5: PM: direct-complete suspend driver flags: 0
[  420.314005] vc vcsa4: PM: direct-complete suspend driver flags: 0
[  420.314007] vc vcsu4: PM: direct-complete suspend driver flags: 0
[  420.314009] vc vcs4: PM: direct-complete suspend driver flags: 0
[  420.314011] vc vcsa3: PM: direct-complete suspend driver flags: 0
[  420.314013] vc vcsu3: PM: direct-complete suspend driver flags: 0
[  420.314016] vc vcs3: PM: direct-complete suspend driver flags: 0
[  420.314018] vc vcsa2: PM: direct-complete suspend driver flags: 0
[  420.314020] vc vcsu2: PM: direct-complete suspend driver flags: 0
[  420.314023] vc vcs2: PM: direct-complete suspend driver flags: 0
[  420.314025] net lo: PM: direct-complete suspend driver flags: 0
[  420.314027] net lo: PM: direct-complete suspend driver flags: 0
[  420.314029] net wlp1s0: PM: direct-complete suspend driver flags: 0
[  420.314033] rfkill rfkill1: PM: class suspend driver flags: 0
[  420.314043] leds phy0-led: PM: class suspend driver flags: 0
[  420.314049]  card2: PM: direct-complete suspend driver flags: 0
[  420.314053]  card2: PM: direct-complete suspend driver flags: 0
[  420.314055] ieee80211 phy0: PM: class suspend driver flags: 0
[  420.314057] sound controlC2: PM: direct-complete suspend driver flags: 0
[  420.314061] sound pcmC2D0c: PM: type suspend driver flags: 0
[  420.314067] wlp1s0: deauthenticating from d6:92:5e:eb:ee:15 by local choice (Reason: 3=DEAUTH_LEAVING)
[  420.314070]  acp3x-dmic-capture: PM: direct-complete suspend driver flags: 0
[  420.314073] acp_pdm_mach acp_pdm_mach.0: PM: bus suspend driver flags: 0
[  420.314092]  card1: PM: direct-complete suspend driver flags: 0
[  420.314095]  card1: PM: direct-complete suspend driver flags: 0
[  420.314098] sound controlC1: PM: direct-complete suspend driver flags: 0
[  420.314102] input event10: PM: direct-complete suspend driver flags: 0
[  420.314106] input input14: PM: type suspend driver flags: 0
[  420.314110] input event9: PM: direct-complete suspend driver flags: 0
[  420.314114] input input13: PM: type suspend driver flags: 0
[  420.314117] sound hwC1D0: PM: direct-complete suspend driver flags: 0
[  420.314120] sound pcmC1D0c: PM: type suspend driver flags: 0
[  420.314122] sound pcmC1D0p: PM: type suspend driver flags: 0
[  420.314129]  card0: PM: direct-complete suspend driver flags: 0
[  420.314131]  card0: PM: direct-complete suspend driver flags: 0
[  420.314133]  mic: PM: direct-complete suspend driver flags: 0
[  420.314137]  speaker: PM: direct-complete suspend driver flags: 0
[  420.314140] sound ctl-led: PM: direct-complete suspend driver flags: 0
[  420.314143] faux_driver snd-soc-dummy: PM: direct-complete suspend driver flags: 0
[  420.314147] leds hda::mute: PM: class suspend driver flags: 0
[  420.314173] media media0: PM: direct-complete suspend driver flags: 0
[  420.314177] snd_hda_codec_realtek hdaudioC1D0: PM: driver suspend driver flags: 0
[  420.314177] video4linux video1: PM: direct-complete suspend driver flags: 0
[  420.314180] video4linux video0: PM: direct-complete suspend driver flags: 0
[  420.314185] sound controlC0: PM: direct-complete suspend driver flags: 0
[  420.314188] input event8: PM: direct-complete suspend driver flags: 0
[  420.314191] input input12: PM: type suspend driver flags: 0
[  420.314193] uvcvideo 1-3:1.0: PM: direct-complete suspend driver flags: 0
[  420.314195] sound hwC0D0: PM: direct-complete suspend driver flags: 0
[  420.314198] sound pcmC0D3p: PM: type suspend driver flags: 0
[  420.314204] powercap intel-rapl:0:0: PM: direct-complete suspend driver flags: 0
[  420.314206] powercap intel-rapl:0: PM: direct-complete suspend driver flags: 0
[  420.314209] powercap intel-rapl: PM: direct-complete suspend driver flags: 0
[  420.314212] hwmon hwmon8: PM: direct-complete suspend driver flags: 0
[  420.314216] thermal thermal_zone2: PM: direct-complete suspend driver flags: 0
[  420.314220] intel_rapl_msr intel_rapl_msr.0: PM: bus suspend driver flags: 0
[  420.314223] misc kvm: PM: direct-complete suspend driver flags: 0
[  420.314224] usb 1-3: PM: type suspend driver flags: 0
[  420.314226] usb_power_delivery pd0: PM: direct-complete suspend driver flags: 0
[  420.314228] typec port0: PM: direct-complete suspend driver flags: 0
[  420.314229] snd_hda_intel 0000:03:00.1: PM: bus suspend driver flags: 0
[  420.314231] hwmon hwmon7: PM: direct-complete suspend driver flags: 0
[  420.314235] rfkill rfkill0: PM: class suspend driver flags: 0
[  420.314241] platform-profile platform-profile-0: PM: direct-complete suspend driver flags: 0
[  420.314245] hwmon hwmon6: PM: direct-complete suspend driver flags: 0
[  420.314250] hp-wmi hp-wmi: PM: bus suspend driver flags: 0
[  420.314252] usb usb1: PM: type suspend driver flags: 0
[  420.314254] input event7: PM: direct-complete suspend driver flags: 0
[  420.314258] input input11: PM: type suspend driver flags: 0
[  420.314263] dmic-codec dmic-codec.0: PM: bus suspend driver flags: 0
[  420.314266] acp_rn_pdm_dma acp_rn_pdm_dma.0: PM: bus suspend driver flags: 0
[  420.314269] nvmem 3-0051: PM: direct-complete suspend driver flags: 0
[  420.314273] snd_rn_pci_acp3x 0000:03:00.5: PM: bus suspend driver flags: 0
[  420.314273] nvmem 3-0050: PM: direct-complete suspend driver flags: 0
[  420.314273] usb 3-3: PM: type suspend driver flags: 0
[  420.314277] ee1004 3-0051: PM: direct-complete suspend driver flags: 0
[  420.314280] sound timer: PM: direct-complete suspend driver flags: 0
[  420.314281] ee1004 3-0050: PM: direct-complete suspend driver flags: 0
[  420.314284] scsi_generic sg0: PM: direct-complete suspend driver flags: 0
[  420.314287] platform regulatory.0: PM: bus suspend driver flags: 0
[  420.314290] event_source power_core: PM: direct-complete suspend driver flags: 0
[  420.314292] event_source power: PM: direct-complete suspend driver flags: 0
[  420.314294] watchdog watchdog0: PM: direct-complete suspend driver flags: 0
[  420.314296] misc watchdog: PM: direct-complete suspend driver flags: 0
[  420.314299] sp5100-tco sp5100-tco: PM: bus suspend driver flags: 0
[  420.314301] input event6: PM: direct-complete suspend driver flags: 0
[  420.314304] input input10: PM: type suspend driver flags: 0
[  420.314303] i2c i2c-3: PM: direct-complete suspend driver flags: 0
[  420.314307] hwmon hwmon5: PM: direct-complete suspend driver flags: 0
[  420.314314] hwmon hwmon4: PM: direct-complete suspend driver flags: 0
[  420.314317] k10temp 0000:00:18.3: PM: bus suspend driver flags: 0
[  420.314318] hwmon hwmon3: PM: direct-complete suspend driver flags: 0
[  420.314321] power_supply BAT0: PM: direct-complete suspend driver flags: 0
[  420.314323] misc rfkill: PM: direct-complete suspend driver flags: 0
[  420.314325] input event5: PM: direct-complete suspend driver flags: 0
[  420.314327] input event4: PM: direct-complete suspend driver flags: 0
[  420.314329] input event3: PM: direct-complete suspend driver flags: 0
[  420.314332] input event2: PM: direct-complete suspend driver flags: 0
[  420.314334] input event1: PM: direct-complete suspend driver flags: 0
[  420.314336] piix4_smbus 0000:00:14.0: PM: bus suspend driver flags: 0
[  420.314337] input event0: PM: direct-complete suspend driver flags: 0
[  420.314339] msr msr15: PM: direct-complete suspend driver flags: 0
[  420.314341] msr msr14: PM: direct-complete suspend driver flags: 0
[  420.314343] msr msr13: PM: direct-complete suspend driver flags: 0
[  420.314346] msr msr12: PM: direct-complete suspend driver flags: 0
[  420.314348] msr msr11: PM: direct-complete suspend driver flags: 0
[  420.314350] msr msr10: PM: direct-complete suspend driver flags: 0
[  420.314353] msr msr9: PM: direct-complete suspend driver flags: 0
[  420.314357] msr msr8: PM: direct-complete suspend driver flags: 0
[  420.314359] msr msr7: PM: direct-complete suspend driver flags: 0
[  420.314360] msr msr6: PM: direct-complete suspend driver flags: 0
[  420.314362] msr msr5: PM: direct-complete suspend driver flags: 0
[  420.314364] msr msr4: PM: direct-complete suspend driver flags: 0
[  420.314366] msr msr3: PM: direct-complete suspend driver flags: 0
[  420.314368] msr msr2: PM: direct-complete suspend driver flags: 0
[  420.314370] msr msr1: PM: direct-complete suspend driver flags: 0
[  420.314372] msr msr0: PM: direct-complete suspend driver flags: 0
[  420.314375] misc device-mapper: PM: direct-complete suspend driver flags: 0
[  420.314377] misc nvme-fabrics: PM: direct-complete suspend driver flags: 0
[  420.314381] nvme-fabrics ctl: PM: direct-complete suspend driver flags: 0
[  420.314383] misc autofs: PM: direct-complete suspend driver flags: 0
[  420.314385] bdi btrfs-1: PM: direct-complete suspend driver flags: 0
[  420.314387] block sda2: PM: direct-complete suspend driver flags: 0
[  420.314389] block sda1: PM: direct-complete suspend driver flags: 0
[  420.314391] bdi 8:0: PM: direct-complete suspend driver flags: 0
[  420.314393] block sda: PM: direct-complete suspend driver flags: 0
[  420.314395] scsi_disk 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  420.314398] bsg 0:0:0:0: PM: direct-complete suspend driver flags: 0
[  420.314405] sd 0:0:0:0: PM: bus suspend driver flags: 0
[  420.314405] misc btrfs-control: PM: direct-complete suspend driver flags: 0
[  420.314409] workqueue scsi_tmf_0: PM: direct-complete suspend driver flags: 0
[  420.314413] vtconsole vtcon1: PM: direct-complete suspend driver flags: 0
[  420.314416] graphics fb0: PM: direct-complete suspend driver flags: 0
[  420.314420] drm_dp_aux_dev drm_dp_aux1: PM: direct-complete suspend driver flags: 0
[  420.314425] drm card0-DP-1: PM: direct-complete suspend driver flags: 0
[  420.314429] drm card0-HDMI-A-1: PM: direct-complete suspend driver flags: 0
[  420.314431] drm_dp_aux_dev drm_dp_aux0: PM: direct-complete suspend driver flags: 0
[  420.314433] backlight amdgpu_bl0: PM: class suspend driver flags: 0
[  420.314446] drm renderD128: PM: direct-complete suspend driver flags: 0
[  420.314449] hwmon hwmon2: PM: direct-complete suspend driver flags: 0
[  420.314455] kfd kfd: PM: direct-complete suspend driver flags: 0
[  420.314459] hidraw hidraw0: PM: direct-complete suspend driver flags: 0
[  420.314463] input mouse1: PM: direct-complete suspend driver flags: 0
[  420.314465] input input9: PM: type suspend driver flags: 0
[  420.314467] input mouse0: PM: direct-complete suspend driver flags: 0
[  420.314470] input input7: PM: type suspend driver flags: 0
[  420.314475] nvme-generic ng0n1: PM: direct-complete suspend driver flags: 0
[  420.314478] block nvme0n1p4: PM: direct-complete suspend driver flags: 0
[  420.314480] block nvme0n1p3: PM: direct-complete suspend driver flags: 0
[  420.314482] block nvme0n1p2: PM: direct-complete suspend driver flags: 0
[  420.314484] block nvme0n1p1: PM: direct-complete suspend driver flags: 0
[  420.314490] bdi 259:0: PM: direct-complete suspend driver flags: 0
[  420.314493] block nvme0n1: PM: direct-complete suspend driver flags: 0
[  420.314493] i2c_hid_acpi i2c-ELAN074E:00: PM: power domain suspend, may wakeup driver flags: 0
[  420.314496] hwmon hwmon1: PM: direct-complete suspend driver flags: 0
[  420.314498] nvme-subsystem nvme-subsys0: PM: direct-complete suspend driver flags: 0
[  420.314501] nvme nvme0: PM: direct-complete suspend driver flags: 0
[  420.314504] workqueue nvme-auth-wq: PM: direct-complete suspend driver flags: 0
[  420.314506] workqueue nvme-delete-wq: PM: direct-complete suspend driver flags: 0
[  420.314508] workqueue nvme-reset-wq: PM: direct-complete suspend driver flags: 0
[  420.314509] nvme 0000:02:00.0: PM: bus suspend driver flags: 0
[  420.314510] workqueue nvme-wq: PM: direct-complete suspend driver flags: 0
[  420.314512] input input3: PM: type suspend driver flags: 0
[  420.314515] thermal cooling_device16: PM: direct-complete suspend driver flags: 0
[  420.314518] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-4: PM: direct-complete suspend driver flags: 0
[  420.314520] wmi ABBC0F6A-8EA1-11D1-00A0-C90629100000: PM: direct-complete suspend driver flags: 0
[  420.314522] input input2: PM: type suspend driver flags: 0
[  420.314525] wmi_bus wmi_bus-PNP0C14:04: PM: direct-complete suspend driver flags: 0
[  420.314527] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-3: PM: direct-complete suspend driver flags: 0
[  420.314529] wmi 40D1BF71-A82D-4E59-A168-3985E03B2E87: PM: direct-complete suspend driver flags: 0
[  420.314532] wmi 431F16ED-0C2B-444C-B267-27DEB140CF9C: PM: direct-complete suspend driver flags: 0
[  420.314534] wmi 67C3371D-95A3-4C37-BB61-DD47B491DAAB: PM: direct-complete suspend driver flags: 0
[  420.314536] wmi D9F41781-F633-4400-9355-601770BEC510: PM: direct-complete suspend driver flags: 0
[  420.314540] wmi_bus wmi_bus-PNP0C14:03: PM: direct-complete suspend driver flags: 0
[  420.314543] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-2: PM: direct-complete suspend driver flags: 0
[  420.314545] wmi 1F13AB7F-6220-4210-8F8E-8BB5E71EE969: PM: direct-complete suspend driver flags: 0
[  420.314547] input input1: PM: type suspend driver flags: 0
[  420.314550] wmi_bus wmi_bus-PNP0C14:02: PM: direct-complete suspend driver flags: 0
[  420.314552] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910-1: PM: direct-complete suspend driver flags: 0
[  420.314554] wmi A6FEA33E-DABF-46F5-BFC8-460D961BEC9F: PM: direct-complete suspend driver flags: 0
[  420.314556] wmi 2BC49DEF-7B15-4F05-8BB7-EE37B9547C0B: PM: direct-complete suspend driver flags: 0
[  420.314558] wmi_bus wmi_bus-PNP0C14:01: PM: direct-complete suspend driver flags: 0
[  420.314561] wmi 8232DE3D-663D-4327-A8F4-E293ADB9BF05: PM: direct-complete suspend driver flags: 0
[  420.314562] wmi 322F2028-0F84-4901-988E-015176049E2D: PM: direct-complete suspend driver flags: 0
[  420.314564] wmi 14EA9746-CE1F-4098-A0E0-7045CB4DA745: PM: direct-complete suspend driver flags: 0
[  420.314566] wmi 988D08E3-68F4-4C35-AF3E-6A1B8106F83C: PM: direct-complete suspend driver flags: 0
[  420.314568] wmi 2D114B49-2DFB-4130-B8FE-4A3C09E75133: PM: direct-complete suspend driver flags: 0
[  420.314570] wmi 1F4C91EB-DC5C-460B-951D-C7CB9B4B8D5E: PM: direct-complete suspend driver flags: 0
[  420.314572] wmi-bmof 05901221-D566-11D1-B2F0-00A0C9062910: PM: direct-complete suspend driver flags: 0
[  420.314574] wmi 2B814318-4BE8-4707-9D84-A190A859B5D0: PM: direct-complete suspend driver flags: 0
[  420.314576] wmi 95F24279-4D7B-4334-9387-ACCDC67EF61C: PM: direct-complete suspend driver flags: 0
[  420.314578] wmi 5FB7F034-2C63-45E9-BE91-3D44E2C707E4: PM: direct-complete suspend driver flags: 0
[  420.314582] wmi_bus wmi_bus-PNP0C14:00: PM: direct-complete suspend driver flags: 0
[  420.314584] memory_tiering memory_tier4: PM: direct-complete suspend driver flags: 0
[  420.314586] misc cpu_dma_latency: PM: direct-complete suspend driver flags: 0
[  420.314588] platform microcode: PM: bus suspend driver flags: 0
[  420.314591] machinecheck machinecheck15: PM: direct-complete suspend driver flags: 0
[  420.314592] machinecheck machinecheck14: PM: direct-complete suspend driver flags: 0
[  420.314594] machinecheck machinecheck13: PM: direct-complete suspend driver flags: 0
[  420.314596] machinecheck machinecheck12: PM: direct-complete suspend driver flags: 0
[  420.314598] machinecheck machinecheck11: PM: direct-complete suspend driver flags: 0
[  420.314600] machinecheck machinecheck10: PM: direct-complete suspend driver flags: 0
[  420.314602] machinecheck machinecheck9: PM: direct-complete suspend driver flags: 0
[  420.314604] machinecheck machinecheck8: PM: direct-complete suspend driver flags: 0
[  420.314606] machinecheck machinecheck7: PM: direct-complete suspend driver flags: 0
[  420.314607] machinecheck machinecheck6: PM: direct-complete suspend driver flags: 0
[  420.314609] machinecheck machinecheck5: PM: direct-complete suspend driver flags: 0
[  420.314611] machinecheck machinecheck4: PM: direct-complete suspend driver flags: 0
[  420.314613] machinecheck machinecheck3: PM: direct-complete suspend driver flags: 0
[  420.314615] machinecheck machinecheck2: PM: direct-complete suspend driver flags: 0
[  420.314617] machinecheck machinecheck1: PM: direct-complete suspend driver flags: 0
[  420.314618] machinecheck machinecheck0: PM: direct-complete suspend driver flags: 0
[  420.314620]  machinecheck: PM: direct-complete suspend driver flags: 0
[  420.314622] leds input0::scrolllock: PM: class suspend driver flags: 0
[  420.314624] leds input0::capslock: PM: class suspend driver flags: 0
[  420.314627] leds input0::numlock: PM: class suspend driver flags: 0
[  420.314630] input input0: PM: type suspend driver flags: 0
[  420.314632] nvmem cmos_nvram0: PM: direct-complete suspend driver flags: 0
[  420.314635] alarmtimer alarmtimer.0.auto: PM: bus suspend, may wakeup driver flags: 0
[  420.314639] rtc rtc0: PM: class suspend driver flags: 0
[  420.314641] misc psaux: PM: direct-complete suspend driver flags: 0
[  420.314644] atkbd serio0: PM: bus suspend, may wakeup driver flags: 0
[  420.316250] i2c_designware AMDI0010:03: PM: power domain suspend driver flags: 6
[  420.318027] input mice: PM: direct-complete suspend driver flags: 0
[  420.318031] i8042 i8042: PM: bus suspend driver flags: 0
[  420.318045] misc udmabuf: PM: direct-complete suspend driver flags: 0
[  420.318049] dma_heap system: PM: direct-complete suspend driver flags: 0
[  420.318053] tpmrm tpmrm0: PM: direct-complete suspend driver flags: 0
[  420.318057] tpm tpm0: PM: direct-complete suspend driver flags: 0
[  420.318060] misc hpet: PM: direct-complete suspend driver flags: 0
[  420.318064] tty ttyS3: PM: direct-complete suspend driver flags: 0
[  420.318068] port serial8250:0.3: PM: driver suspend driver flags: 0
[  420.318073] tty ttyS2: PM: direct-complete suspend driver flags: 0
[  420.318077] port serial8250:0.2: PM: driver suspend driver flags: 0
[  420.318081] tty ttyS1: PM: direct-complete suspend driver flags: 0
[  420.318085] port serial8250:0.1: PM: driver suspend driver flags: 0
[  420.318089] tty ttyS0: PM: direct-complete suspend driver flags: 0
[  420.318093] port serial8250:0.0: PM: driver suspend driver flags: 0
[  420.318101] serial8250 serial8250: PM: bus suspend driver flags: 0
[  420.318106] tty ptmx: PM: direct-complete suspend driver flags: 0
[  420.318110] thermal thermal_zone1: PM: direct-complete suspend driver flags: 0
[  420.318113] hwmon hwmon0: PM: direct-complete suspend driver flags: 0
[  420.318117] thermal thermal_zone0: PM: direct-complete suspend driver flags: 0
[  420.318120] thermal cooling_device15: PM: direct-complete suspend driver flags: 0
[  420.318124] thermal cooling_device14: PM: direct-complete suspend driver flags: 0
[  420.318127] thermal cooling_device13: PM: direct-complete suspend driver flags: 0
[  420.318130] thermal cooling_device12: PM: direct-complete suspend driver flags: 0
[  420.318134] thermal cooling_device11: PM: direct-complete suspend driver flags: 0
[  420.318137] thermal cooling_device10: PM: direct-complete suspend driver flags: 0
[  420.318140] thermal cooling_device9: PM: direct-complete suspend driver flags: 0
[  420.318144] thermal cooling_device8: PM: direct-complete suspend driver flags: 0
[  420.318147] thermal cooling_device7: PM: direct-complete suspend driver flags: 0
[  420.318150] thermal cooling_device6: PM: direct-complete suspend driver flags: 0
[  420.318154] thermal cooling_device5: PM: direct-complete suspend driver flags: 0
[  420.318157] thermal cooling_device4: PM: direct-complete suspend driver flags: 0
[  420.318160] thermal cooling_device3: PM: direct-complete suspend driver flags: 0
[  420.318163] thermal cooling_device2: PM: direct-complete suspend driver flags: 0
[  420.318166] thermal cooling_device1: PM: direct-complete suspend driver flags: 0
[  420.318170] thermal cooling_device0: PM: direct-complete suspend driver flags: 0
[  420.318174] gpio gpiochip512: PM: direct-complete suspend driver flags: 0
[  420.318178] gpio gpiochip0: PM: direct-complete suspend driver flags: 0
[  420.318182] misc fuse: PM: direct-complete suspend driver flags: 0
[  420.318185] misc userfaultfd: PM: direct-complete suspend driver flags: 0
[  420.318189] event_source software: PM: direct-complete suspend driver flags: 0
[  420.318192] event_source tracepoint: PM: direct-complete suspend driver flags: 0
[  420.318196] event_source kprobe: PM: direct-complete suspend driver flags: 0
[  420.318199] event_source uprobe: PM: direct-complete suspend driver flags: 0
[  420.318203] event_source breakpoint: PM: direct-complete suspend driver flags: 0
[  420.318206] event_source cpu: PM: direct-complete suspend driver flags: 0
[  420.318209] event_source ibs_fetch: PM: direct-complete suspend driver flags: 0
[  420.318213] event_source ibs_op: PM: direct-complete suspend driver flags: 0
[  420.318216] event_source amd_df: PM: direct-complete suspend driver flags: 0
[  420.318219] event_source amd_l3: PM: direct-complete suspend driver flags: 0
[  420.318223] event_source amd_iommu_0: PM: direct-complete suspend driver flags: 0
[  420.318226] event_source msr: PM: direct-complete suspend driver flags: 0
[  420.318230] clockevents broadcast: PM: direct-complete suspend driver flags: 0
[  420.318233] clockevents clockevent15: PM: direct-complete suspend driver flags: 0
[  420.318237] clockevents clockevent14: PM: direct-complete suspend driver flags: 0
[  420.318240] clockevents clockevent13: PM: direct-complete suspend driver flags: 0
[  420.318243] clockevents clockevent12: PM: direct-complete suspend driver flags: 0
[  420.318247] clockevents clockevent11: PM: direct-complete suspend driver flags: 0
[  420.318250] clockevents clockevent10: PM: direct-complete suspend driver flags: 0
[  420.318253] clockevents clockevent9: PM: direct-complete suspend driver flags: 0
[  420.318257] clockevents clockevent8: PM: direct-complete suspend driver flags: 0
[  420.318260] clockevents clockevent7: PM: direct-complete suspend driver flags: 0
[  420.318263] clockevents clockevent6: PM: direct-complete suspend driver flags: 0
[  420.318267] clockevents clockevent5: PM: direct-complete suspend driver flags: 0
[  420.318270] clockevents clockevent4: PM: direct-complete suspend driver flags: 0
[  420.318273] clockevents clockevent3: PM: direct-complete suspend driver flags: 0
[  420.318276] clockevents clockevent2: PM: direct-complete suspend driver flags: 0
[  420.318280] clockevents clockevent1: PM: direct-complete suspend driver flags: 0
[  420.318283] clockevents clockevent0: PM: direct-complete suspend driver flags: 0
[  420.318286]  clockevents: PM: direct-complete suspend driver flags: 0
[  420.318289] clocksource clocksource0: PM: direct-complete suspend driver flags: 0
[  420.318293]  clocksource: PM: direct-complete suspend driver flags: 0
[  420.318296] misc snapshot: PM: direct-complete suspend driver flags: 0
[  420.318300] pcspkr pcspkr: PM: bus suspend driver flags: 0
[  420.318313] iommu ivhd0: PM: direct-complete suspend driver flags: 0
[  420.318320] misc hw_random: PM: direct-complete suspend driver flags: 0
[  420.318323] tty tty63: PM: direct-complete suspend driver flags: 0
[  420.318327] tty tty62: PM: direct-complete suspend driver flags: 0
[  420.318327] pci 0000:00:00.2: PM: bus suspend driver flags: 0
[  420.318330] tty tty61: PM: direct-complete suspend driver flags: 0
[  420.318334] tty tty60: PM: direct-complete suspend driver flags: 0
[  420.318337] tty tty59: PM: direct-complete suspend driver flags: 0
[  420.318340] tty tty58: PM: direct-complete suspend driver flags: 0
[  420.318344] tty tty57: PM: direct-complete suspend driver flags: 0
[  420.318347] tty tty56: PM: direct-complete suspend driver flags: 0
[  420.318350] tty tty55: PM: direct-complete suspend driver flags: 0
[  420.318353] tty tty54: PM: direct-complete suspend driver flags: 0
[  420.318357] tty tty53: PM: direct-complete suspend driver flags: 0
[  420.318360] tty tty52: PM: direct-complete suspend driver flags: 0
[  420.318363] tty tty51: PM: direct-complete suspend driver flags: 0
[  420.318366] tty tty50: PM: direct-complete suspend driver flags: 0
[  420.318370] tty tty49: PM: direct-complete suspend driver flags: 0
[  420.318373] tty tty48: PM: direct-complete suspend driver flags: 0
[  420.318376] tty tty47: PM: direct-complete suspend driver flags: 0
[  420.318379] tty tty46: PM: direct-complete suspend driver flags: 0
[  420.318383] tty tty45: PM: direct-complete suspend driver flags: 0
[  420.318386] tty tty44: PM: direct-complete suspend driver flags: 0
[  420.318389] tty tty43: PM: direct-complete suspend driver flags: 0
[  420.318392] tty tty42: PM: direct-complete suspend driver flags: 0
[  420.318395] tty tty41: PM: direct-complete suspend driver flags: 0
[  420.318399] tty tty40: PM: direct-complete suspend driver flags: 0
[  420.318402] tty tty39: PM: direct-complete suspend driver flags: 0
[  420.318405] tty tty38: PM: direct-complete suspend driver flags: 0
[  420.318409] tty tty37: PM: direct-complete suspend driver flags: 0
[  420.318412] tty tty36: PM: direct-complete suspend driver flags: 0
[  420.318415] tty tty35: PM: direct-complete suspend driver flags: 0
[  420.318418] tty tty34: PM: direct-complete suspend driver flags: 0
[  420.318422] tty tty33: PM: direct-complete suspend driver flags: 0
[  420.318425] tty tty32: PM: direct-complete suspend driver flags: 0
[  420.318428] tty tty31: PM: direct-complete suspend driver flags: 0
[  420.318431] tty tty30: PM: direct-complete suspend driver flags: 0
[  420.318435] tty tty29: PM: direct-complete suspend driver flags: 0
[  420.318438] tty tty28: PM: direct-complete suspend driver flags: 0
[  420.318441] tty tty27: PM: direct-complete suspend driver flags: 0
[  420.318444] tty tty26: PM: direct-complete suspend driver flags: 0
[  420.318448] tty tty25: PM: direct-complete suspend driver flags: 0
[  420.318451] tty tty24: PM: direct-complete suspend driver flags: 0
[  420.318454] tty tty23: PM: direct-complete suspend driver flags: 0
[  420.318457] tty tty22: PM: direct-complete suspend driver flags: 0
[  420.318460] tty tty21: PM: direct-complete suspend driver flags: 0
[  420.318464] tty tty20: PM: direct-complete suspend driver flags: 0
[  420.318467] tty tty19: PM: direct-complete suspend driver flags: 0
[  420.318470] tty tty18: PM: direct-complete suspend driver flags: 0
[  420.318473] tty tty17: PM: direct-complete suspend driver flags: 0
[  420.318477] tty tty16: PM: direct-complete suspend driver flags: 0
[  420.318480] tty tty15: PM: direct-complete suspend driver flags: 0
[  420.318483] tty tty14: PM: direct-complete suspend driver flags: 0
[  420.318486] tty tty13: PM: direct-complete suspend driver flags: 0
[  420.318489] tty tty12: PM: direct-complete suspend driver flags: 0
[  420.318493] tty tty11: PM: direct-complete suspend driver flags: 0
[  420.318496] tty tty10: PM: direct-complete suspend driver flags: 0
[  420.318499] tty tty9: PM: direct-complete suspend driver flags: 0
[  420.318503] tty tty8: PM: direct-complete suspend driver flags: 0
[  420.318506] tty tty7: PM: direct-complete suspend driver flags: 0
[  420.318509] tty tty6: PM: direct-complete suspend driver flags: 0
[  420.318512] tty tty5: PM: direct-complete suspend driver flags: 0
[  420.318516] tty tty4: PM: direct-complete suspend driver flags: 0
[  420.318519] tty tty3: PM: direct-complete suspend driver flags: 0
[  420.318522] tty tty2: PM: direct-complete suspend driver flags: 0
[  420.318525] tty tty1: PM: direct-complete suspend driver flags: 0
[  420.318528] vc vcsa1: PM: direct-complete suspend driver flags: 0
[  420.318532] vc vcsu1: PM: direct-complete suspend driver flags: 0
[  420.318535] vc vcs1: PM: direct-complete suspend driver flags: 0
[  420.318538] vc vcsa: PM: direct-complete suspend driver flags: 0
[  420.318544] vc vcsu: PM: direct-complete suspend driver flags: 0
[  420.318549] vc vcs: PM: direct-complete suspend driver flags: 0
[  420.318553] tty tty0: PM: direct-complete suspend driver flags: 0
[  420.318557] tty console: PM: direct-complete suspend driver flags: 0
[  420.318562] tty tty: PM: direct-complete suspend driver flags: 0
[  420.318567] mem kmsg: PM: direct-complete suspend driver flags: 0
[  420.318570] mem urandom: PM: direct-complete suspend driver flags: 0
[  420.318573] mem random: PM: direct-complete suspend driver flags: 0
[  420.318577] mem full: PM: direct-complete suspend driver flags: 0
[  420.318580] mem zero: PM: direct-complete suspend driver flags: 0
[  420.318583] mem port: PM: direct-complete suspend driver flags: 0
[  420.318587] mem null: PM: direct-complete suspend driver flags: 0
[  420.318590] mem mem: PM: direct-complete suspend driver flags: 0
[  420.318593] system 00:03: PM: bus suspend driver flags: 0
[  420.318598] i8042 kbd 00:02: PM: bus suspend driver flags: 0
[  420.318603] rtc_cmos 00:01: PM: bus suspend, may wakeup driver flags: 0
[  420.318634] system 00:00: PM: bus suspend driver flags: 0
[  420.318641] misc vga_arbiter: PM: direct-complete suspend driver flags: 0
[  420.318645] net lo: PM: direct-complete suspend driver flags: 0
[  420.318648] platform efivars.0: PM: bus suspend driver flags: 0
[  420.318653] platform rtc-efi.0: PM: bus suspend driver flags: 0
[  420.318657] edac mc: PM: direct-complete suspend driver flags: 0
[  420.318660]  edac: PM: direct-complete suspend driver flags: 0
[  420.318665] acpi ELAN074E:00: PM: direct-complete suspend driver flags: 0
[  420.318669] acpi-wmi PNP0C14:04: PM: power domain suspend driver flags: 0
[  420.318674] platform PNP0103:00: PM: bus suspend driver flags: 0
[  420.318678] acpi-fan PNP0C0B:00: PM: bus suspend driver flags: 0
[  420.318683] amd_pmc AMDI0005:00: PM: power domain suspend driver flags: 0
[  420.318689] ucsi_acpi USBC000:00: PM: power domain suspend driver flags: 0
[  420.318693] platform ACPI000E:00: PM: bus suspend driver flags: 0
[  420.318698] acpi-wmi PNP0C14:03: PM: power domain suspend driver flags: 0
[  420.318702] platform PNP0C0D:00: PM: bus suspend driver flags: 0
[  420.318707] acpi-wmi PNP0C14:02: PM: power domain suspend driver flags: 0
[  420.318712] acpi-wmi PNP0C14:01: PM: power domain suspend driver flags: 0
[  420.318717] acpi-wmi PNP0C14:00: PM: power domain suspend driver flags: 0
[  420.318722] platform MSFT0101:00: PM: bus suspend driver flags: 0
[  420.318726] amd_gpio AMDI0030:00: PM: power domain suspend driver flags: 0
[  420.318731] platform acpi-cpufreq: PM: bus suspend driver flags: 0
[  420.318735] platform PNP0C0C:00: PM: bus suspend driver flags: 0
[  420.318739] platform HPIC0003:00: PM: bus suspend driver flags: 0
[  420.318743] platform PNP0C0A:00: PM: bus suspend driver flags: 0
[  420.318747] ac ACPI0003:00: PM: power domain suspend driver flags: 0
[  420.318752] platform PNP0C09:00: PM: bus suspend driver flags: 0
[  420.318759] platform PNP0800:00: PM: bus suspend driver flags: 0
[  420.318765] pci 0000:00:14.3: PM: bus suspend driver flags: 0
[  420.318769] pci_bus 0000:03: PM: direct-complete suspend driver flags: 0
[  420.318778] pci_bus 0000:02: PM: direct-complete suspend driver flags: 0
[  420.318783] pci_bus 0000:01: PM: direct-complete suspend driver flags: 0
[  420.318792] pci_bus 0000:00: PM: direct-complete suspend driver flags: 0
[  420.318796] acpi PNP0C14:04: PM: direct-complete suspend driver flags: 0
[  420.318800] acpi PNP0103:00: PM: direct-complete suspend driver flags: 0
[  420.318804] thermal LNXTHERM:01: PM: driver suspend driver flags: 0
[  420.318818] thermal LNXTHERM:00: PM: driver suspend driver flags: 0
[  420.318826] acpi PNP0C0B:00: PM: direct-complete suspend driver flags: 0
[  420.318830] acpi LNXPOWER:09: PM: direct-complete suspend driver flags: 0
[  420.318840] acpi AMDI0005:00: PM: direct-complete suspend driver flags: 0
[  420.318846] acpi device:3f: PM: direct-complete suspend driver flags: 0
[  420.318850] acpi USBC000:00: PM: direct-complete suspend driver flags: 0
[  420.318854] acpi ACPI000C:00: PM: direct-complete suspend driver flags: 0
[  420.318857] acpi ACPI000E:00: PM: direct-complete suspend driver flags: 0
[  420.318861] acpi PNP0C02:0d: PM: direct-complete suspend driver flags: 0
[  420.318864] acpi PNP0C02:0c: PM: direct-complete suspend driver flags: 0
[  420.318868] acpi PNP0C02:0b: PM: direct-complete suspend driver flags: 0
[  420.318871] acpi PNP0C02:0a: PM: direct-complete suspend driver flags: 0
[  420.318875] acpi PNP0C02:09: PM: direct-complete suspend driver flags: 0
[  420.318878] acpi PNP0C02:08: PM: direct-complete suspend driver flags: 0
[  420.318882] acpi PNP0C02:07: PM: direct-complete suspend driver flags: 0
[  420.318885] acpi PNP0C02:06: PM: direct-complete suspend driver flags: 0
[  420.318889] acpi PNP0C02:05: PM: direct-complete suspend driver flags: 0
[  420.318892] acpi PNP0C02:04: PM: direct-complete suspend driver flags: 0
[  420.318898] acpi PNP0C02:03: PM: direct-complete suspend driver flags: 0
[  420.318901] acpi LNXPOWER:08: PM: direct-complete suspend driver flags: 0
[  420.318905] acpi LNXPOWER:07: PM: direct-complete suspend driver flags: 0
[  420.318908] acpi HPQ6007:00: PM: direct-complete suspend driver flags: 0
[  420.318912] acpi HPQ6001:00: PM: direct-complete suspend driver flags: 0
[  420.318916] acpi PNP0C14:03: PM: direct-complete suspend driver flags: 0
[  420.318919] acpi PNP0C0E:00: PM: direct-complete suspend driver flags: 0
[  420.318923] button PNP0C0D:00: PM: driver suspend, may wakeup driver flags: 0
[  420.318929] acpi PNP0C14:02: PM: direct-complete suspend driver flags: 0
[  420.318933] acpi PNP0C14:01: PM: direct-complete suspend driver flags: 0
[  420.318936] acpi PNP0C14:00: PM: direct-complete suspend driver flags: 0
[  420.318940] tpm_crb MSFT0101:00: PM: driver suspend driver flags: 0
[  420.320248] acpi AMDI0040:00: PM: direct-complete suspend driver flags: 0
[  420.320256] acpi AMDI0010:05: PM: direct-complete suspend driver flags: 0
[  420.320259] acpi AMDI0010:04: PM: direct-complete suspend driver flags: 0
[  420.320262] acpi AMDI0010:03: PM: direct-complete suspend driver flags: 0
[  420.320264] acpi AMDI0010:02: PM: direct-complete suspend driver flags: 0
[  420.320266] acpi AMDI0010:01: PM: direct-complete suspend driver flags: 0
[  420.320268] acpi AMDI0010:00: PM: direct-complete suspend driver flags: 0
[  420.320270] acpi AMDI0020:03: PM: direct-complete suspend driver flags: 0
[  420.320272] acpi AMDI0020:02: PM: direct-complete suspend driver flags: 0
[  420.320274] acpi AMDI0020:01: PM: direct-complete suspend driver flags: 0
[  420.320276] acpi AMDI0020:00: PM: direct-complete suspend driver flags: 0
[  420.320278] acpi AMDI0030:00: PM: direct-complete suspend driver flags: 0
[  420.320280] acpi AMDI0060:00: PM: direct-complete suspend driver flags: 0
[  420.320282] acpi PNP0C0F:07: PM: direct-complete suspend driver flags: 0
[  420.320284] acpi PNP0C0F:06: PM: direct-complete suspend driver flags: 0
[  420.320286] acpi PNP0C0F:05: PM: direct-complete suspend driver flags: 0
[  420.320288] acpi PNP0C0F:04: PM: direct-complete suspend driver flags: 0
[  420.320290] acpi PNP0C0F:03: PM: direct-complete suspend driver flags: 0
[  420.320292] acpi PNP0C0F:02: PM: direct-complete suspend driver flags: 0
[  420.320294] acpi PNP0C0F:01: PM: direct-complete suspend driver flags: 0
[  420.320296] acpi PNP0C0F:00: PM: direct-complete suspend driver flags: 0
[  420.320298] acpi ACPI0007:0f: PM: direct-complete suspend driver flags: 0
[  420.320300] acpi ACPI0007:0e: PM: direct-complete suspend driver flags: 0
[  420.320302] acpi ACPI0007:0d: PM: direct-complete suspend driver flags: 0
[  420.320304] acpi ACPI0007:0c: PM: direct-complete suspend driver flags: 0
[  420.320306] acpi ACPI0007:0b: PM: direct-complete suspend driver flags: 0
[  420.320308] acpi ACPI0007:0a: PM: direct-complete suspend driver flags: 0
[  420.320310] acpi ACPI0007:09: PM: direct-complete suspend driver flags: 0
[  420.320312] acpi ACPI0007:08: PM: direct-complete suspend driver flags: 0
[  420.320314] acpi ACPI0007:07: PM: direct-complete suspend driver flags: 0
[  420.320316] acpi ACPI0007:06: PM: direct-complete suspend driver flags: 0
[  420.320318] acpi ACPI0007:05: PM: direct-complete suspend driver flags: 0
[  420.320320] acpi ACPI0007:04: PM: direct-complete suspend driver flags: 0
[  420.320322] acpi ACPI0007:03: PM: direct-complete suspend driver flags: 0
[  420.320324] acpi ACPI0007:02: PM: direct-complete suspend driver flags: 0
[  420.320326] acpi ACPI0007:01: PM: direct-complete suspend driver flags: 0
[  420.320328] acpi ACPI0007:00: PM: direct-complete suspend driver flags: 0
[  420.320333] acpi ACPI0010:00: PM: direct-complete suspend driver flags: 0
[  420.320335] button PNP0C0C:00: PM: driver suspend, may wakeup driver flags: 0
[  420.320338] acpi device:3e: PM: direct-complete suspend driver flags: 0
[  420.320340] acpi device:3d: PM: direct-complete suspend driver flags: 0
[  420.320343] acpi device:3c: PM: direct-complete suspend driver flags: 0
[  420.320345] acpi device:3b: PM: direct-complete suspend driver flags: 0
[  420.320347] acpi device:3a: PM: direct-complete suspend driver flags: 0
[  420.320349] acpi device:39: PM: direct-complete suspend driver flags: 0
[  420.320351] acpi device:38: PM: direct-complete suspend driver flags: 0
[  420.320354] acpi device:37: PM: direct-complete suspend driver flags: 0
[  420.320356] acpi device:36: PM: direct-complete suspend driver flags: 0
[  420.320358] acpi device:35: PM: direct-complete suspend driver flags: 0
[  420.320360] acpi device:34: PM: direct-complete suspend driver flags: 0
[  420.320362] acpi HPIC0003:00: PM: direct-complete suspend driver flags: 0
[  420.320364] acpi PNP0500:03: PM: direct-complete suspend driver flags: 0
[  420.320366] acpi PNP0500:02: PM: direct-complete suspend driver flags: 0
[  420.320368] acpi PNP0500:01: PM: direct-complete suspend driver flags: 0
[  420.320370] acpi PNP0500:00: PM: direct-complete suspend driver flags: 0
[  420.320372] acpi device:33: PM: direct-complete suspend driver flags: 0
[  420.320374] acpi device:32: PM: direct-complete suspend driver flags: 0
[  420.320376] acpi device:31: PM: direct-complete suspend driver flags: 0
[  420.320378] acpi device:30: PM: direct-complete suspend driver flags: 0
[  420.320381] acpi device:2f: PM: direct-complete suspend driver flags: 0
[  420.320383] acpi LNXPOWER:06: PM: direct-complete suspend driver flags: 0
[  420.320384] acpi device:2e: PM: direct-complete suspend driver flags: 0
[  420.320387] acpi device:2d: PM: direct-complete suspend driver flags: 0
[  420.320389] acpi device:2c: PM: direct-complete suspend driver flags: 0
[  420.320391] acpi PNP0C02:02: PM: direct-complete suspend driver flags: 0
[  420.320393] acpi SYNA3290:00: PM: direct-complete suspend driver flags: 0
[  420.320395] acpi HPQ8001:00: PM: direct-complete suspend driver flags: 0
[  420.320399] acpi ACPI0003:00: PM: direct-complete suspend driver flags: 0
[  420.320402] ec PNP0C09:00: PM: driver suspend driver flags: 0
[  420.320404] acpi PNP0800:00: PM: direct-complete suspend driver flags: 0
[  420.320407] acpi PNP0B00:00: PM: direct-complete suspend driver flags: 0
[  420.320409] acpi PNP0100:00: PM: direct-complete suspend driver flags: 0
[  420.320410] acpi PNP0200:00: PM: direct-complete suspend driver flags: 0
[  420.320413] acpi PNP0000:00: PM: direct-complete suspend driver flags: 0
[  420.320418] acpi device:2a: PM: direct-complete suspend driver flags: 0
[  420.320420] acpi device:29: PM: direct-complete suspend driver flags: 0
[  420.320422] acpi device:28: PM: direct-complete suspend driver flags: 0
[  420.320424] acpi device:27: PM: direct-complete suspend driver flags: 0
[  420.320427] acpi device:26: PM: direct-complete suspend driver flags: 0
[  420.320429] acpi device:25: PM: direct-complete suspend driver flags: 0
[  420.320431] acpi LNXPOWER:05: PM: direct-complete suspend driver flags: 0
[  420.320433] acpi device:24: PM: direct-complete suspend driver flags: 0
[  420.320435] acpi LNXPOWER:04: PM: direct-complete suspend driver flags: 0
[  420.320438] acpi device:23: PM: direct-complete suspend driver flags: 0
[  420.320441] acpi device:22: PM: direct-complete suspend driver flags: 0
[  420.320445] acpi device:21: PM: direct-complete suspend driver flags: 0
[  420.320448] acpi device:20: PM: direct-complete suspend driver flags: 0
[  420.320452] acpi device:1f: PM: direct-complete suspend driver flags: 0
[  420.320456] acpi device:1e: PM: direct-complete suspend driver flags: 0
[  420.320461] acpi device:1d: PM: direct-complete suspend driver flags: 0
[  420.320465] acpi device:1c: PM: direct-complete suspend driver flags: 0
[  420.320471] acpi device:1b: PM: direct-complete suspend driver flags: 0
[  420.320476] acpi device:1a: PM: direct-complete suspend driver flags: 0
[  420.320480] acpi LNXPOWER:03: PM: direct-complete suspend driver flags: 0
[  420.320485] acpi LNXPOWER:02: PM: direct-complete suspend driver flags: 0
[  420.320489] acpi device:19: PM: direct-complete suspend driver flags: 0
[  420.320493] acpi device:18: PM: direct-complete suspend driver flags: 0
[  420.320498] acpi device:17: PM: direct-complete suspend driver flags: 0
[  420.320503] acpi device:16: PM: direct-complete suspend driver flags: 0
[  420.320507] acpi device:15: PM: direct-complete suspend driver flags: 0
[  420.320512] acpi device:14: PM: direct-complete suspend driver flags: 0
[  420.320516] acpi device:13: PM: direct-complete suspend driver flags: 0
[  420.320520] acpi device:12: PM: direct-complete suspend driver flags: 0
[  420.320526] acpi device:11: PM: direct-complete suspend driver flags: 0
[  420.320531] acpi device:10: PM: direct-complete suspend driver flags: 0
[  420.320536] acpi LNXPOWER:01: PM: direct-complete suspend driver flags: 0
[  420.320540] acpi LNXPOWER:00: PM: direct-complete suspend driver flags: 0
[  420.320545] acpi device:0f: PM: direct-complete suspend driver flags: 0
[  420.320551] acpi device:0e: PM: direct-complete suspend driver flags: 0
[  420.320557] acpi PNP0C02:01: PM: direct-complete suspend driver flags: 0
[  420.320563] acpi device:0d: PM: direct-complete suspend driver flags: 0
[  420.320568] acpi device:0c: PM: direct-complete suspend driver flags: 0
[  420.320572] acpi device:0b: PM: direct-complete suspend driver flags: 0
[  420.320588] acpi device:09: PM: direct-complete suspend driver flags: 0
[  420.320593] acpi device:08: PM: direct-complete suspend driver flags: 0
[  420.320597] acpi device:07: PM: direct-complete suspend driver flags: 0
[  420.320602] acpi device:06: PM: direct-complete suspend driver flags: 0
[  420.320606] acpi device:05: PM: direct-complete suspend driver flags: 0
[  420.320611] acpi device:04: PM: direct-complete suspend driver flags: 0
[  420.320615] acpi device:03: PM: direct-complete suspend driver flags: 0
[  420.320619] acpi device:02: PM: direct-complete suspend driver flags: 0
[  420.320624] acpi device:01: PM: direct-complete suspend driver flags: 0
[  420.320629] acpi device:00: PM: direct-complete suspend driver flags: 0
[  420.320634] acpi PNP0C02:00: PM: direct-complete suspend driver flags: 0
[  420.320638] acpi PNP0C01:00: PM: direct-complete suspend driver flags: 0
[  420.320671] graphics fbcon: PM: direct-complete suspend driver flags: 0
[  420.320676] workqueue blkcg_punt_bio: PM: direct-complete suspend driver flags: 0
[  420.320680]  memory_tiering: PM: direct-complete suspend driver flags: 0
[  420.320684] workqueue writeback: PM: direct-complete suspend driver flags: 0
[  420.320689] dmi id: PM: direct-complete suspend driver flags: 0
[  420.320694] vtconsole vtcon0: PM: direct-complete suspend driver flags: 0
[  420.320698] regulator regulator.0: PM: class suspend driver flags: 0
[  420.320707]  workqueue: PM: direct-complete suspend driver flags: 0
[  420.320711]  container: PM: direct-complete suspend driver flags: 0
[  420.320716] processor cpu15: PM: direct-complete suspend driver flags: 0
[  420.320721] processor cpu14: PM: direct-complete suspend driver flags: 0
[  420.320726] processor cpu13: PM: direct-complete suspend driver flags: 0
[  420.320730] processor cpu12: PM: direct-complete suspend driver flags: 0
[  420.320735] processor cpu11: PM: direct-complete suspend driver flags: 0
[  420.320739] processor cpu10: PM: direct-complete suspend driver flags: 0
[  420.320744] processor cpu9: PM: direct-complete suspend driver flags: 0
[  420.320748] processor cpu8: PM: direct-complete suspend driver flags: 0
[  420.320753] processor cpu7: PM: direct-complete suspend driver flags: 0
[  420.320757] processor cpu6: PM: direct-complete suspend driver flags: 0
[  420.320762] processor cpu5: PM: direct-complete suspend driver flags: 0
[  420.320766] processor cpu4: PM: direct-complete suspend driver flags: 0
[  420.320771] processor cpu3: PM: direct-complete suspend driver flags: 0
[  420.320775] processor cpu2: PM: direct-complete suspend driver flags: 0
[  420.320780] processor cpu1: PM: direct-complete suspend driver flags: 0
[  420.320784] processor cpu0: PM: direct-complete suspend driver flags: 0
[  420.320788]  cpu: PM: direct-complete suspend driver flags: 0
[  420.320793] node node0: PM: direct-complete suspend driver flags: 0
[  420.320797]  node: PM: direct-complete suspend driver flags: 0
[  420.320802] memory memory131: PM: direct-complete suspend driver flags: 0
[  420.320806] memory memory130: PM: direct-complete suspend driver flags: 0
[  420.320810] memory memory129: PM: direct-complete suspend driver flags: 0
[  420.320814] memory memory128: PM: direct-complete suspend driver flags: 0
[  420.320818] memory memory127: PM: direct-complete suspend driver flags: 0
[  420.320822] memory memory126: PM: direct-complete suspend driver flags: 0
[  420.320826] memory memory125: PM: direct-complete suspend driver flags: 0
[  420.320831] memory memory124: PM: direct-complete suspend driver flags: 0
[  420.320835] memory memory123: PM: direct-complete suspend driver flags: 0
[  420.320839] memory memory122: PM: direct-complete suspend driver flags: 0
[  420.320843] memory memory121: PM: direct-complete suspend driver flags: 0
[  420.320847] memory memory120: PM: direct-complete suspend driver flags: 0
[  420.320851] memory memory119: PM: direct-complete suspend driver flags: 0
[  420.320855] memory memory118: PM: direct-complete suspend driver flags: 0
[  420.320859] memory memory117: PM: direct-complete suspend driver flags: 0
[  420.320863] memory memory116: PM: direct-complete suspend driver flags: 0
[  420.320867] memory memory115: PM: direct-complete suspend driver flags: 0
[  420.320872] memory memory114: PM: direct-complete suspend driver flags: 0
[  420.320876] memory memory113: PM: direct-complete suspend driver flags: 0
[  420.320880] memory memory112: PM: direct-complete suspend driver flags: 0
[  420.320884] memory memory111: PM: direct-complete suspend driver flags: 0
[  420.320888] memory memory110: PM: direct-complete suspend driver flags: 0
[  420.320892] memory memory109: PM: direct-complete suspend driver flags: 0
[  420.320896] memory memory108: PM: direct-complete suspend driver flags: 0
[  420.320900] memory memory107: PM: direct-complete suspend driver flags: 0
[  420.320905] memory memory106: PM: direct-complete suspend driver flags: 0
[  420.320909] memory memory105: PM: direct-complete suspend driver flags: 0
[  420.320913] memory memory104: PM: direct-complete suspend driver flags: 0
[  420.320917] memory memory103: PM: direct-complete suspend driver flags: 0
[  420.320921] memory memory102: PM: direct-complete suspend driver flags: 0
[  420.320925] memory memory101: PM: direct-complete suspend driver flags: 0
[  420.320929] memory memory100: PM: direct-complete suspend driver flags: 0
[  420.320933] memory memory99: PM: direct-complete suspend driver flags: 0
[  420.320938] memory memory98: PM: direct-complete suspend driver flags: 0
[  420.320942] memory memory97: PM: direct-complete suspend driver flags: 0
[  420.320946] memory memory96: PM: direct-complete suspend driver flags: 0
[  420.320950] memory memory95: PM: direct-complete suspend driver flags: 0
[  420.320954] memory memory94: PM: direct-complete suspend driver flags: 0
[  420.320958] memory memory93: PM: direct-complete suspend driver flags: 0
[  420.320962] memory memory92: PM: direct-complete suspend driver flags: 0
[  420.320966] memory memory91: PM: direct-complete suspend driver flags: 0
[  420.320970] memory memory90: PM: direct-complete suspend driver flags: 0
[  420.320975] memory memory89: PM: direct-complete suspend driver flags: 0
[  420.320979] memory memory88: PM: direct-complete suspend driver flags: 0
[  420.320983] memory memory87: PM: direct-complete suspend driver flags: 0
[  420.320988] memory memory86: PM: direct-complete suspend driver flags: 0
[  420.320992] memory memory85: PM: direct-complete suspend driver flags: 0
[  420.320996] memory memory84: PM: direct-complete suspend driver flags: 0
[  420.321000] memory memory83: PM: direct-complete suspend driver flags: 0
[  420.321004] memory memory82: PM: direct-complete suspend driver flags: 0
[  420.321008] memory memory81: PM: direct-complete suspend driver flags: 0
[  420.321012] memory memory80: PM: direct-complete suspend driver flags: 0
[  420.321016] memory memory79: PM: direct-complete suspend driver flags: 0
[  420.321020] memory memory78: PM: direct-complete suspend driver flags: 0
[  420.321024] memory memory77: PM: direct-complete suspend driver flags: 0
[  420.321028] memory memory76: PM: direct-complete suspend driver flags: 0
[  420.321033] memory memory75: PM: direct-complete suspend driver flags: 0
[  420.321037] memory memory74: PM: direct-complete suspend driver flags: 0
[  420.321041] memory memory73: PM: direct-complete suspend driver flags: 0
[  420.321046] memory memory72: PM: direct-complete suspend driver flags: 0
[  420.321050] memory memory71: PM: direct-complete suspend driver flags: 0
[  420.321054] memory memory70: PM: direct-complete suspend driver flags: 0
[  420.321058] memory memory69: PM: direct-complete suspend driver flags: 0
[  420.321062] memory memory68: PM: direct-complete suspend driver flags: 0
[  420.321066] memory memory67: PM: direct-complete suspend driver flags: 0
[  420.321070] memory memory66: PM: direct-complete suspend driver flags: 0
[  420.321074] memory memory65: PM: direct-complete suspend driver flags: 0
[  420.321078] memory memory64: PM: direct-complete suspend driver flags: 0
[  420.321083] memory memory63: PM: direct-complete suspend driver flags: 0
[  420.321087] memory memory62: PM: direct-complete suspend driver flags: 0
[  420.321091] memory memory61: PM: direct-complete suspend driver flags: 0
[  420.321095] memory memory60: PM: direct-complete suspend driver flags: 0
[  420.321099] memory memory59: PM: direct-complete suspend driver flags: 0
[  420.321103] memory memory58: PM: direct-complete suspend driver flags: 0
[  420.321108] memory memory57: PM: direct-complete suspend driver flags: 0
[  420.321112] memory memory56: PM: direct-complete suspend driver flags: 0
[  420.321116] memory memory55: PM: direct-complete suspend driver flags: 0
[  420.321120] memory memory54: PM: direct-complete suspend driver flags: 0
[  420.321124] memory memory53: PM: direct-complete suspend driver flags: 0
[  420.321128] memory memory52: PM: direct-complete suspend driver flags: 0
[  420.321132] memory memory51: PM: direct-complete suspend driver flags: 0
[  420.321136] memory memory50: PM: direct-complete suspend driver flags: 0
[  420.321140] memory memory49: PM: direct-complete suspend driver flags: 0
[  420.321144] memory memory48: PM: direct-complete suspend driver flags: 0
[  420.321149] memory memory47: PM: direct-complete suspend driver flags: 0
[  420.321153] memory memory46: PM: direct-complete suspend driver flags: 0
[  420.321157] memory memory45: PM: direct-complete suspend driver flags: 0
[  420.321161] memory memory44: PM: direct-complete suspend driver flags: 0
[  420.321165] memory memory43: PM: direct-complete suspend driver flags: 0
[  420.321169] memory memory42: PM: direct-complete suspend driver flags: 0
[  420.321173] memory memory41: PM: direct-complete suspend driver flags: 0
[  420.321177] memory memory40: PM: direct-complete suspend driver flags: 0
[  420.321181] memory memory39: PM: direct-complete suspend driver flags: 0
[  420.321186] memory memory38: PM: direct-complete suspend driver flags: 0
[  420.321190] memory memory37: PM: direct-complete suspend driver flags: 0
[  420.321194] memory memory36: PM: direct-complete suspend driver flags: 0
[  420.321198] memory memory35: PM: direct-complete suspend driver flags: 0
[  420.321202] memory memory34: PM: direct-complete suspend driver flags: 0
[  420.321206] memory memory33: PM: direct-complete suspend driver flags: 0
[  420.321210] memory memory32: PM: direct-complete suspend driver flags: 0
[  420.321215] memory memory23: PM: direct-complete suspend driver flags: 0
[  420.321219] memory memory22: PM: direct-complete suspend driver flags: 0
[  420.321223] memory memory21: PM: direct-complete suspend driver flags: 0
[  420.321227] memory memory20: PM: direct-complete suspend driver flags: 0
[  420.321231] memory memory19: PM: direct-complete suspend driver flags: 0
[  420.321235] memory memory18: PM: direct-complete suspend driver flags: 0
[  420.321239] memory memory17: PM: direct-complete suspend driver flags: 0
[  420.321243] memory memory16: PM: direct-complete suspend driver flags: 0
[  420.321247] memory memory15: PM: direct-complete suspend driver flags: 0
[  420.321251] memory memory14: PM: direct-complete suspend driver flags: 0
[  420.321256] memory memory13: PM: direct-complete suspend driver flags: 0
[  420.321260] memory memory12: PM: direct-complete suspend driver flags: 0
[  420.321264] memory memory11: PM: direct-complete suspend driver flags: 0
[  420.321268] memory memory10: PM: direct-complete suspend driver flags: 0
[  420.321272] memory memory9: PM: direct-complete suspend driver flags: 0
[  420.321277] memory memory8: PM: direct-complete suspend driver flags: 0
[  420.321281] memory memory7: PM: direct-complete suspend driver flags: 0
[  420.321285] memory memory6: PM: direct-complete suspend driver flags: 0
[  420.321289] memory memory5: PM: direct-complete suspend driver flags: 0
[  420.321293] memory memory4: PM: direct-complete suspend driver flags: 0
[  420.321297] memory memory3: PM: direct-complete suspend driver flags: 0
[  420.321301] memory memory2: PM: direct-complete suspend driver flags: 0
[  420.321305] memory memory1: PM: direct-complete suspend driver flags: 0
[  420.321309] memory memory0: PM: direct-complete suspend driver flags: 0
[  420.321313]  memory: PM: direct-complete suspend driver flags: 0
[  420.328549] amdgpu 0000:03:00.0: PM: bus suspend driver flags: 0
[  420.329518] snd_hda_intel 0000:03:00.6: PM: bus suspend driver flags: 0
[  420.337079] iwlwifi 0000:01:00.0: PM: bus suspend driver flags: 0
[  420.337106] pcieport 0000:00:02.2: PM: bus suspend driver flags: 5
[  420.337643] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  420.340327] xhci_hcd 0000:03:00.3: PM: bus suspend, may wakeup driver flags: 0
[  420.341894] scsi target0:0:0: PM: bus suspend driver flags: 0
[  420.341926] scsi host0: PM: bus suspend driver flags: 0
[  420.341966] usb 4-1: PM: type suspend driver flags: 0
[  420.364494] usb usb4: PM: type suspend driver flags: 0
[  420.366238] pcieport 0000:00:02.4: PM: bus suspend driver flags: 5
[  420.423713] usb usb3: PM: type suspend driver flags: 0
[  420.434260] xhci_hcd 0000:03:00.4: PM: bus suspend, may wakeup driver flags: 0
[  420.434507] pcieport 0000:00:08.1: PM: bus suspend, may wakeup driver flags: 5
[  420.434678] PM: suspend of devices complete after 121.663 msecs
[  420.434689] PM: start suspend of devices complete after 375.560 msecs
[  420.435750] pcie_mp2_amd 0000:03:00.7: PM: late bus suspend driver flags: 0
[  420.435751] ccp 0000:03:00.2: PM: late bus suspend driver flags: 0
[  420.435753] pci 0000:00:18.7: PM: late bus suspend driver flags: 0
[  420.435753] pci 0000:00:18.6: PM: late bus suspend driver flags: 0
[  420.435754] pci 0000:00:18.5: PM: late bus suspend driver flags: 0
[  420.435754] pci 0000:00:18.4: PM: late bus suspend driver flags: 0
[  420.435757] pci 0000:00:18.2: PM: late bus suspend driver flags: 0
[  420.435757] pci 0000:00:18.1: PM: late bus suspend driver flags: 0
[  420.435757] pci 0000:00:18.0: PM: late bus suspend driver flags: 0
[  420.435759] pci 0000:00:08.0: PM: late bus suspend driver flags: 0
[  420.435760] pci 0000:00:02.0: PM: late bus suspend driver flags: 0
[  420.435760] pci 0000:00:01.0: PM: late bus suspend driver flags: 0
[  420.435761] pci 0000:00:00.0: PM: late bus suspend driver flags: 0
[  420.435892] iwlwifi 0000:01:00.0: PM: late bus suspend driver flags: 0
[  420.435970] snd_hda_intel 0000:03:00.1: PM: late bus suspend driver flags: 0
[  420.435987] snd_hda_intel 0000:03:00.6: PM: late bus suspend driver flags: 0
[  420.435993] snd_rn_pci_acp3x 0000:03:00.5: PM: late bus suspend driver flags: 0
[  420.436004] xhci_hcd 0000:03:00.3: PM: late bus suspend, may wakeup driver flags: 0
[  420.436018] piix4_smbus 0000:00:14.0: PM: late bus suspend driver flags: 0
[  420.436034] k10temp 0000:00:18.3: PM: late bus suspend driver flags: 0
[  420.436104] amdgpu 0000:03:00.0: PM: late bus suspend driver flags: 0
[  420.436132] i2c_hid_acpi i2c-ELAN074E:00: PM: late power domain suspend, may wakeup driver flags: 0
[  420.436145] xhci_hcd 0000:03:00.4: PM: late bus suspend, may wakeup driver flags: 0
[  420.436151] nvme 0000:02:00.0: PM: late bus suspend driver flags: 0
[  420.436174] i2c_designware AMDI0010:03: PM: late power domain suspend driver flags: 6
[  420.436360] pci 0000:00:00.2: PM: late bus suspend driver flags: 0
[  420.436464] acpi-wmi PNP0C14:04: PM: late power domain suspend driver flags: 0
[  420.436472] amd_pmc AMDI0005:00: PM: late power domain suspend driver flags: 0
[  420.436476] ucsi_acpi USBC000:00: PM: late power domain suspend driver flags: 0
[  420.436482] acpi-wmi PNP0C14:03: PM: late power domain suspend driver flags: 0
[  420.436487] acpi-wmi PNP0C14:02: PM: late power domain suspend driver flags: 0
[  420.436492] acpi-wmi PNP0C14:01: PM: late power domain suspend driver flags: 0
[  420.436496] acpi-wmi PNP0C14:00: PM: late power domain suspend driver flags: 0
[  420.436500] amd_gpio AMDI0030:00: PM: late power domain suspend driver flags: 0
[  420.436517] Disabling GPIO #9 interrupt for suspend.
[  420.436546] ac ACPI0003:00: PM: late power domain suspend driver flags: 0
[  420.436556] pci 0000:00:14.3: PM: late bus suspend driver flags: 0
[  420.436562] pcieport 0000:00:02.4: PM: late bus suspend driver flags: 5
[  420.436564] pcieport 0000:00:02.2: PM: late bus suspend driver flags: 5
[  420.436574] pcieport 0000:00:08.1: PM: late bus suspend, may wakeup driver flags: 5
[  420.436951] PM: late suspend of devices complete after 2.256 msecs
[  420.437683] pcie_mp2_amd 0000:03:00.7: PM: noirq bus suspend driver flags: 0
[  420.437685] ccp 0000:03:00.2: PM: noirq bus suspend driver flags: 0
[  420.437686] pci 0000:00:18.7: PM: noirq bus suspend driver flags: 0
[  420.437687] pci 0000:00:18.5: PM: noirq bus suspend driver flags: 0
[  420.437687] pci 0000:00:18.4: PM: noirq bus suspend driver flags: 0
[  420.437687] pci 0000:00:18.6: PM: noirq bus suspend driver flags: 0
[  420.437688] pci 0000:00:18.2: PM: noirq bus suspend driver flags: 0
[  420.437691] pci 0000:00:18.1: PM: noirq bus suspend driver flags: 0
[  420.437692] pci 0000:00:18.0: PM: noirq bus suspend driver flags: 0
[  420.437693] pci 0000:00:08.0: PM: noirq bus suspend driver flags: 0
[  420.437693] pci 0000:00:02.0: PM: noirq bus suspend driver flags: 0
[  420.437695] pci 0000:00:01.0: PM: noirq bus suspend driver flags: 0
[  420.437696] pci 0000:00:00.0: PM: noirq bus suspend driver flags: 0
[  420.437775] snd_hda_intel 0000:03:00.1: PM: noirq bus suspend driver flags: 0
[  420.437809] snd_rn_pci_acp3x 0000:03:00.5: PM: noirq bus suspend driver flags: 0
[  420.437814] xhci_hcd 0000:03:00.3: PM: noirq bus suspend, may wakeup driver flags: 0
[  420.437819] iwlwifi 0000:01:00.0: PM: noirq bus suspend driver flags: 0
[  420.437820] snd_hda_intel 0000:03:00.6: PM: noirq bus suspend driver flags: 0
[  420.437831] k10temp 0000:00:18.3: PM: noirq bus suspend driver flags: 0
[  420.437833] piix4_smbus 0000:00:14.0: PM: noirq bus suspend driver flags: 0
[  420.438437] xhci_hcd 0000:03:00.4: PM: noirq bus suspend, may wakeup driver flags: 0
[  420.438588] i2c_hid_acpi i2c-ELAN074E:00: PM: noirq power domain suspend, may wakeup driver flags: 0
[  420.438597] i2c_designware AMDI0010:03: PM: noirq power domain suspend driver flags: 6
[  420.438601] nvme 0000:02:00.0: PM: noirq bus suspend driver flags: 0
[  420.438704] pci 0000:00:00.2: PM: noirq bus suspend driver flags: 0
[  420.438754] acpi-wmi PNP0C14:04: PM: noirq power domain suspend driver flags: 0
[  420.438758] amd_pmc AMDI0005:00: PM: noirq power domain suspend driver flags: 0
[  420.438760] ucsi_acpi USBC000:00: PM: noirq power domain suspend driver flags: 0
[  420.438763] acpi-wmi PNP0C14:03: PM: noirq power domain suspend driver flags: 0
[  420.438766] acpi-wmi PNP0C14:02: PM: noirq power domain suspend driver flags: 0
[  420.438767] acpi-wmi PNP0C14:01: PM: noirq power domain suspend driver flags: 0
[  420.438769] acpi-wmi PNP0C14:00: PM: noirq power domain suspend driver flags: 0
[  420.438772] amd_gpio AMDI0030:00: PM: noirq power domain suspend driver flags: 0
[  420.438777] ac ACPI0003:00: PM: noirq power domain suspend driver flags: 0
[  420.438784] pci 0000:00:14.3: PM: noirq bus suspend driver flags: 0
[  420.438874] ec PNP0C09:00: PM: noirq driver suspend driver flags: 0
[  420.438876] ACPI: EC: interrupt blocked
[  420.450486] amdgpu 0000:03:00.0: PM: noirq bus suspend driver flags: 0
[  420.462233] pcieport 0000:00:02.4: PM: noirq bus suspend driver flags: 5
[  420.462233] pcieport 0000:00:02.2: PM: noirq bus suspend driver flags: 5
[  420.473775] pcieport 0000:00:08.1: PM: noirq bus suspend, may wakeup driver flags: 5
[  420.474867] PM: noirq suspend of devices complete after 37.601 msecs
[  420.475479] ACPI: \_SB_.PEP_: Successfully transitioned to state screen off
[  420.483599] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 ms entry
[  420.484027] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 entry
[  420.485199] PM: suspend-to-idle
[  420.485225] amd_pmc: SMU idlemask s0i3: 0xc02e0eb5
[  425.308243] Timekeeping suspended for 4.435 seconds
[  425.308306] PM: Triggering wakeup from IRQ 9
[  425.308318] PM: Triggering wakeup from IRQ 7
[  425.308330] PM: Triggering wakeup from IRQ 0
[  425.308489] ACPI: EC: ACPI EC GPE status set
[  425.308534] ACPI: EC: ACPI EC GPE dispatched
[  425.308874] ACPI: EC: ACPI EC work flushed
[  425.308956] ACPI: PM: Wakeup after ACPI Notify sync
[  425.308959] PM: resume from suspend-to-idle
[  425.309905] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 exit
[  425.316026] ACPI: \_SB_.PEP_: Successfully transitioned to state lps0 ms exit
[  425.317265] ACPI: \_SB_.PEP_: Successfully transitioned to state screen on
[  425.317463] pci 0000:00:00.0: PM: noirq bus resume driver flags: 0
[  425.317489] pci 0000:00:00.2: PM: noirq bus resume driver flags: 0
[  425.317506] pci 0000:00:01.0: PM: noirq bus resume driver flags: 0
[  425.317521] pci 0000:00:02.0: PM: noirq bus resume driver flags: 0
[  425.317537] pcieport 0000:00:02.2: PM: noirq bus resume driver flags: 5
[  425.317673] ec PNP0C09:00: PM: noirq driver resume driver flags: 0
[  425.317675] ACPI: EC: interrupt unblocked
[  425.317692] pcieport 0000:00:02.4: PM: noirq bus resume driver flags: 5
[  425.317717] pci 0000:00:08.0: PM: noirq bus resume driver flags: 0
[  425.317723] pcieport 0000:00:08.1: PM: noirq bus resume driver flags: 5
[  425.317750] pci 0000:00:14.3: PM: noirq bus resume driver flags: 0
[  425.317749] piix4_smbus 0000:00:14.0: PM: noirq bus resume driver flags: 0
[  425.317752] pci 0000:00:18.0: PM: noirq bus resume driver flags: 0
[  425.317758] pci 0000:00:18.1: PM: noirq bus resume driver flags: 0
[  425.317778] pci 0000:00:18.2: PM: noirq bus resume driver flags: 0
[  425.317791] k10temp 0000:00:18.3: PM: noirq bus resume driver flags: 0
[  425.317817] pci 0000:00:18.5: PM: noirq bus resume driver flags: 0
[  425.317819] pci 0000:00:18.4: PM: noirq bus resume driver flags: 0
[  425.317820] pci 0000:00:18.6: PM: noirq bus resume driver flags: 0
[  425.317822] amdgpu 0000:03:00.0: PM: noirq bus resume driver flags: 0
[  425.317822] pci 0000:00:18.7: PM: noirq bus resume driver flags: 0
[  425.317823] i2c_designware AMDI0010:03: PM: noirq power domain resume driver flags: 6
[  425.317824] ccp 0000:03:00.2: PM: noirq bus resume driver flags: 0
[  425.317834] ac ACPI0003:00: PM: noirq power domain resume driver flags: 0
[  425.317835] snd_rn_pci_acp3x 0000:03:00.5: PM: noirq bus resume driver flags: 0
[  425.317835] xhci_hcd 0000:03:00.4: PM: noirq bus resume driver flags: 0
[  425.317835] xhci_hcd 0000:03:00.3: PM: noirq bus resume driver flags: 0
[  425.317845] amd_gpio AMDI0030:00: PM: noirq power domain resume driver flags: 0
[  425.317850] snd_hda_intel 0000:03:00.6: PM: noirq bus resume driver flags: 0
[  425.317851] acpi-wmi PNP0C14:00: PM: noirq power domain resume driver flags: 0
[  425.317854] acpi-wmi PNP0C14:01: PM: noirq power domain resume driver flags: 0
[  425.317859] acpi-wmi PNP0C14:02: PM: noirq power domain resume driver flags: 0
[  425.317867] acpi-wmi PNP0C14:03: PM: noirq power domain resume driver flags: 0
[  425.317867] pcie_mp2_amd 0000:03:00.7: PM: noirq bus resume driver flags: 0
[  425.317872] ucsi_acpi USBC000:00: PM: noirq power domain resume driver flags: 0
[  425.317891] amd_pmc AMDI0005:00: PM: noirq power domain resume driver flags: 0
[  425.317905] acpi-wmi PNP0C14:04: PM: noirq power domain resume driver flags: 0
[  425.317906] i2c_hid_acpi i2c-ELAN074E:00: PM: noirq power domain resume driver flags: 0
[  425.318144] i8042 i8042: PM: noirq driver resume driver flags: 0
[  425.329676] iwlwifi 0000:01:00.0: PM: noirq bus resume driver flags: 0
[  425.331099] snd_hda_intel 0000:03:00.1: PM: noirq bus resume driver flags: 0
[  425.331108] nvme 0000:02:00.0: PM: noirq bus resume driver flags: 0
[  425.347356] PM: noirq resume of devices complete after 30.086 msecs
[  425.347402] GPIO 0 is active: 0x300578e3
[  425.347876] pci 0000:00:00.0: PM: early bus resume driver flags: 0
[  425.347925] pci 0000:00:00.2: PM: early bus resume driver flags: 0
[  425.347927] pci 0000:00:01.0: PM: early bus resume driver flags: 0
[  425.347932] pci 0000:00:02.0: PM: early bus resume driver flags: 0
[  425.347942] pcieport 0000:00:02.2: PM: early bus resume driver flags: 5
[  425.347945] pcieport 0000:00:02.4: PM: early bus resume driver flags: 5
[  425.347949] pci 0000:00:08.0: PM: early bus resume driver flags: 0
[  425.347951] pcieport 0000:00:08.1: PM: early bus resume driver flags: 5
[  425.348034] piix4_smbus 0000:00:14.0: PM: early bus resume driver flags: 0
[  425.348036] pci 0000:00:18.1: PM: early bus resume driver flags: 0
[  425.348036] pci 0000:00:18.0: PM: early bus resume driver flags: 0
[  425.348037] pci 0000:00:14.3: PM: early bus resume driver flags: 0
[  425.348038] k10temp 0000:00:18.3: PM: early bus resume driver flags: 0
[  425.348039] pci 0000:00:18.2: PM: early bus resume driver flags: 0
[  425.348062] pci 0000:00:18.4: PM: early bus resume driver flags: 0
[  425.348062] pci 0000:00:18.5: PM: early bus resume driver flags: 0
[  425.348063] pci 0000:00:18.6: PM: early bus resume driver flags: 0
[  425.348065] pci 0000:00:18.7: PM: early bus resume driver flags: 0
[  425.348067] i2c_designware AMDI0010:03: PM: early power domain resume driver flags: 6
[  425.348068] nvme 0000:02:00.0: PM: early bus resume driver flags: 0
[  425.348085] iwlwifi 0000:01:00.0: PM: early bus resume driver flags: 0
[  425.348090] amdgpu 0000:03:00.0: PM: early bus resume driver flags: 0
[  425.348093] ccp 0000:03:00.2: PM: early bus resume driver flags: 0
[  425.348106] xhci_hcd 0000:03:00.4: PM: early bus resume driver flags: 0
[  425.348107] xhci_hcd 0000:03:00.3: PM: early bus resume driver flags: 0
[  425.348115] snd_rn_pci_acp3x 0000:03:00.5: PM: early bus resume driver flags: 0
[  425.348116] snd_hda_intel 0000:03:00.1: PM: early bus resume driver flags: 0
[  425.348132] snd_hda_intel 0000:03:00.6: PM: early bus resume driver flags: 0
[  425.348157] pcie_mp2_amd 0000:03:00.7: PM: early bus resume driver flags: 0
[  425.348306] i2c_hid_acpi i2c-ELAN074E:00: PM: early power domain resume driver flags: 0
[  425.349240] ac ACPI0003:00: PM: early power domain resume driver flags: 0
[  425.349249] amd_gpio AMDI0030:00: PM: early power domain resume driver flags: 0
[  425.349285] acpi-wmi PNP0C14:00: PM: early power domain resume driver flags: 0
[  425.349288] acpi-wmi PNP0C14:01: PM: early power domain resume driver flags: 0
[  425.349291] acpi-wmi PNP0C14:02: PM: early power domain resume driver flags: 0
[  425.349294] acpi-wmi PNP0C14:03: PM: early power domain resume driver flags: 0
[  425.349298] ucsi_acpi USBC000:00: PM: early power domain resume driver flags: 0
[  425.349301] amd_pmc AMDI0005:00: PM: early power domain resume driver flags: 0
[  425.349306] acpi-wmi PNP0C14:04: PM: early power domain resume driver flags: 0
[  425.349693] PM: early resume of devices complete after 2.044 msecs
[  425.349767] pci 0000:00:00.0: PM: bus resume driver flags: 0
[  425.349777] pci 0000:00:00.2: PM: bus resume driver flags: 0
[  425.349778] pci 0000:00:01.0: PM: bus resume driver flags: 0
[  425.349782] pcieport 0000:00:02.2: PM: bus resume driver flags: 5
[  425.349783] pci 0000:00:02.0: PM: bus resume driver flags: 0
[  425.349785] pcieport 0000:00:02.4: PM: bus resume driver flags: 5
[  425.349789] pci 0000:00:08.0: PM: bus resume driver flags: 0
[  425.349793] pcieport 0000:00:08.1: PM: bus resume driver flags: 5
[  425.349799] piix4_smbus 0000:00:14.0: PM: bus resume driver flags: 0
[  425.349819] pci 0000:00:14.3: PM: bus resume driver flags: 0
[  425.349820] pci 0000:00:18.1: PM: bus resume driver flags: 0
[  425.349820] pci 0000:00:18.0: PM: bus resume driver flags: 0
[  425.349822] pci 0000:00:18.2: PM: bus resume driver flags: 0
[  425.349823] pci 0000:00:18.4: PM: bus resume driver flags: 0
[  425.349824] pci 0000:00:18.5: PM: bus resume driver flags: 0
[  425.349824] k10temp 0000:00:18.3: PM: bus resume driver flags: 0
[  425.349826] pci 0000:00:18.6: PM: bus resume driver flags: 0
[  425.349827] i2c_designware AMDI0010:03: PM: power domain resume driver flags: 6
[  425.349827] pci 0000:00:18.7: PM: bus resume driver flags: 0
[  425.349828] iwlwifi 0000:01:00.0: PM: bus resume driver flags: 0
[  425.349841] nvme 0000:02:00.0: PM: bus resume driver flags: 0
[  425.349853] i2c_hid_acpi i2c-ELAN074E:00: PM: power domain resume driver flags: 0
[  425.349948] regulator regulator.0: PM: class resume driver flags: 0
[  425.350051] ec PNP0C09:00: PM: driver resume driver flags: 0
[  425.350095] battery PNP0C0A:00: PM: driver resume driver flags: 0
[  425.350095] ieee80211 phy0: PM: class resume driver flags: 0
[  425.350128] amdgpu 0000:03:00.0: PM: bus resume driver flags: 0
[  425.350131] ccp 0000:03:00.2: PM: bus resume driver flags: 0
[  425.350136] xhci_hcd 0000:03:00.4: PM: bus resume driver flags: 0
[  425.350138] xhci_hcd 0000:03:00.3: PM: bus resume driver flags: 0
[  425.350144] snd_rn_pci_acp3x 0000:03:00.5: PM: bus resume driver flags: 0
[  425.350408] snd_hda_intel 0000:03:00.6: PM: bus resume driver flags: 0
[  425.350425] pcie_mp2_amd 0000:03:00.7: PM: bus resume driver flags: 0
[  425.350704] button PNP0C0C:00: PM: driver resume driver flags: 0
[  425.350798] tpm_crb MSFT0101:00: PM: driver resume driver flags: 0
[  425.350807] button PNP0C0D:00: PM: driver resume driver flags: 0
[  425.351423] thermal LNXTHERM:00: PM: driver resume driver flags: 0
[  425.351433] thermal LNXTHERM:01: PM: driver resume driver flags: 0
[  425.351450] platform PNP0800:00: PM: bus resume driver flags: 0
[  425.351453] platform PNP0C09:00: PM: bus resume driver flags: 0
[  425.351457] ac ACPI0003:00: PM: power domain resume driver flags: 0
[  425.352422] usb usb3: PM: type resume driver flags: 0
[  425.352424] usb usb4: PM: type resume driver flags: 0
[  425.352731] usb usb1: PM: type resume driver flags: 0
[  425.352735] usb usb2: PM: type resume driver flags: 0
[  425.352823] [drm] PCIE GART of 1024M enabled.
[  425.352825] [drm] PTB located at 0x000000F41FC00000
[  425.352851] amdgpu 0000:03:00.0: amdgpu: SMU is resuming...
[  425.352868] usb 1-3: PM: type resume driver flags: 0
[  425.352880] usb 1-4: PM: type resume driver flags: 0
[  425.353947] amdgpu 0000:03:00.0: amdgpu: dpm has been disabled
[  425.355205] snd_hda_codec_realtek hdaudioC1D0: PM: driver resume driver flags: 0
[  425.355464] platform PNP0C0A:00: PM: bus resume driver flags: 0
[  425.355469] platform HPIC0003:00: PM: bus resume driver flags: 0
[  425.355471] platform PNP0C0C:00: PM: bus resume driver flags: 0
[  425.355473] platform acpi-cpufreq: PM: bus resume driver flags: 0
[  425.355475] amd_gpio AMDI0030:00: PM: power domain resume driver flags: 0
[  425.355478] platform MSFT0101:00: PM: bus resume driver flags: 0
[  425.355480] acpi-wmi PNP0C14:00: PM: power domain resume driver flags: 0
[  425.355483] acpi-wmi PNP0C14:01: PM: power domain resume driver flags: 0
[  425.355485] acpi-wmi PNP0C14:02: PM: power domain resume driver flags: 0
[  425.355487] platform PNP0C0D:00: PM: bus resume driver flags: 0
[  425.355489] acpi-wmi PNP0C14:03: PM: power domain resume driver flags: 0
[  425.355491] platform ACPI000E:00: PM: bus resume driver flags: 0
[  425.355493] ucsi_acpi USBC000:00: PM: power domain resume driver flags: 0
[  425.355500] amd_pmc AMDI0005:00: PM: power domain resume driver flags: 0
[  425.355503] acpi-fan PNP0C0B:00: PM: bus resume driver flags: 0
[  425.355506] platform PNP0103:00: PM: bus resume driver flags: 0
[  425.355508] acpi-wmi PNP0C14:04: PM: power domain resume driver flags: 0
[  425.355514] platform rtc-efi.0: PM: bus resume driver flags: 0
[  425.355516] platform efivars.0: PM: bus resume driver flags: 0
[  425.355522] system 00:00: PM: bus resume driver flags: 0
[  425.355525] rtc_cmos 00:01: PM: bus resume driver flags: 0
[  425.355529] i8042 kbd 00:02: PM: bus resume driver flags: 0
[  425.355531] system 00:03: PM: bus resume driver flags: 0
[  425.355593] pcspkr pcspkr: PM: bus resume driver flags: 0
[  425.355639] serial8250 serial8250: PM: bus resume driver flags: 0
[  425.355644] port serial8250:0.0: PM: driver resume driver flags: 0
[  425.355647] port serial8250:0.1: PM: driver resume driver flags: 0
[  425.355651] port serial8250:0.2: PM: driver resume driver flags: 0
[  425.355654] port serial8250:0.3: PM: driver resume driver flags: 0
[  425.355661] i8042 i8042: PM: bus resume driver flags: 0
[  425.355665] atkbd serio0: PM: bus resume driver flags: 0
[  425.355671] rtc rtc0: PM: class resume driver flags: 0
[  425.355674] alarmtimer alarmtimer.0.auto: PM: bus resume driver flags: 0
[  425.355679] input input0: PM: type resume driver flags: 0
[  425.355684] leds input0::numlock: PM: class resume driver flags: 0
[  425.355686] leds input0::capslock: PM: class resume driver flags: 0
[  425.355689] leds input0::scrolllock: PM: class resume driver flags: 0
[  425.355704] platform microcode: PM: bus resume driver flags: 0
[  425.355728] input input1: PM: type resume driver flags: 0
[  425.355739] input input2: PM: type resume driver flags: 0
[  425.355743] input input3: PM: type resume driver flags: 0
[  425.357967] amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully!
[  425.379303] usb 4-1: PM: type resume driver flags: 0
[  425.406461] usb 3-3: PM: type resume driver flags: 0
[  425.416851] input input7: PM: type resume driver flags: 0
[  425.416862] input input9: PM: type resume driver flags: 0
[  425.455212] scsi host0: PM: bus resume driver flags: 0
[  425.455222] scsi target0:0:0: PM: bus resume driver flags: 0
[  425.455227] sd 0:0:0:0: PM: bus resume driver flags: 0
[  425.464745] amdgpu 0000:03:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
[  425.464748] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[  425.464750] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[  425.464751] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[  425.464752] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[  425.464752] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[  425.464753] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[  425.464754] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[  425.464755] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[  425.464756] amdgpu 0000:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0
[  425.464757] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 8
[  425.464758] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 8
[  425.464759] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 8
[  425.464760] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 8
[  425.464761] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 8
[  425.476660] snd_hda_intel 0000:03:00.1: PM: bus resume driver flags: 0
[  425.476683] backlight amdgpu_bl0: PM: class resume driver flags: 0
[  425.476918] input input10: PM: type resume driver flags: 0
[  425.476936] sp5100-tco sp5100-tco: PM: bus resume driver flags: 0
[  425.476949] platform regulatory.0: PM: bus resume driver flags: 0
[  425.476960] acp_rn_pdm_dma acp_rn_pdm_dma.0: PM: bus resume driver flags: 0
[  425.476967] dmic-codec dmic-codec.0: PM: bus resume driver flags: 0
[  425.476971] input input11: PM: type resume driver flags: 0
[  425.476978] hp-wmi hp-wmi: PM: bus resume driver flags: 0
[  425.477832] rfkill rfkill0: PM: class resume driver flags: 0
[  425.477857] intel_rapl_msr intel_rapl_msr.0: PM: bus resume driver flags: 0
[  425.478959] input input12: PM: type resume driver flags: 0
[  425.478966] leds hda::mute: PM: class resume driver flags: 0
[  425.478993] input input13: PM: type resume driver flags: 0
[  425.478996] input input14: PM: type resume driver flags: 0
[  425.479001] acp_pdm_mach acp_pdm_mach.0: PM: bus resume driver flags: 0
[  425.479032] leds phy0-led: PM: class resume driver flags: 0
[  425.479036] rfkill rfkill1: PM: class resume driver flags: 0
[  425.479086] PM: resume of devices complete after 129.390 msecs
[  425.479242] snd_hda_codec_realtek hdaudioC1D0: PM: completing driver resume driver flags: 0
[  425.479249] snd_hda_codec_hdmi hdaudioC0D0: PM: completing driver resume driver flags: 0
[  425.479311] usb 4-1: PM: completing type resume driver flags: 0
[  425.479334] usb 1-4: PM: completing type resume driver flags: 0
[  425.479343] usb 3-3: PM: completing type resume driver flags: 0
[  425.479348] usb 1-3: PM: completing type resume driver flags: 0
[  425.479359] usb usb4: PM: completing type resume driver flags: 0
[  425.479368] usb usb3: PM: completing type resume driver flags: 0
[  425.479377] usb usb2: PM: completing type resume driver flags: 0
[  425.479387] usb usb1: PM: completing type resume driver flags: 0
[  425.479502] snd_hda_intel 0000:03:00.1: PM: completing bus resume driver flags: 0
[  425.479573] i2c_hid_acpi i2c-ELAN074E:00: PM: completing power domain resume driver flags: 0
[  425.479578] acpi-wmi PNP0C14:04: PM: completing power domain resume driver flags: 0
[  425.479581] amd_pmc AMDI0005:00: PM: completing power domain resume driver flags: 0
[  425.479584] ucsi_acpi USBC000:00: PM: completing power domain resume driver flags: 0
[  425.479587] acpi-wmi PNP0C14:03: PM: completing power domain resume driver flags: 0
[  425.479590] acpi-wmi PNP0C14:02: PM: completing power domain resume driver flags: 0
[  425.479592] acpi-wmi PNP0C14:01: PM: completing power domain resume driver flags: 0
[  425.479594] acpi-wmi PNP0C14:00: PM: completing power domain resume driver flags: 0
[  425.479597] i2c_designware AMDI0010:03: PM: completing power domain resume driver flags: 6
[  425.479600] amd_gpio AMDI0030:00: PM: completing power domain resume driver flags: 0
[  425.479605] ac ACPI0003:00: PM: completing power domain resume driver flags: 0
[  425.479609] pcie_mp2_amd 0000:03:00.7: PM: completing bus resume driver flags: 0
[  425.479611] snd_hda_intel 0000:03:00.6: PM: completing bus resume driver flags: 0
[  425.479615] snd_rn_pci_acp3x 0000:03:00.5: PM: completing bus resume driver flags: 0
[  425.479618] xhci_hcd 0000:03:00.4: PM: completing bus resume driver flags: 0
[  425.479732] xhci_hcd 0000:03:00.3: PM: completing bus resume driver flags: 0
[  425.479830] ccp 0000:03:00.2: PM: completing bus resume driver flags: 0
[  425.479832] amdgpu 0000:03:00.0: PM: completing bus resume driver flags: 0
[  425.479836] nvme 0000:02:00.0: PM: completing bus resume driver flags: 0
[  425.479839] iwlwifi 0000:01:00.0: PM: completing bus resume driver flags: 0
[  425.479842] pci 0000:00:18.7: PM: completing bus resume driver flags: 0
[  425.479844] pci 0000:00:18.6: PM: completing bus resume driver flags: 0
[  425.479846] pci 0000:00:18.5: PM: completing bus resume driver flags: 0
[  425.479848] pci 0000:00:18.4: PM: completing bus resume driver flags: 0
[  425.479850] k10temp 0000:00:18.3: PM: completing bus resume driver flags: 0
[  425.479852] pci 0000:00:18.2: PM: completing bus resume driver flags: 0
[  425.479854] pci 0000:00:18.1: PM: completing bus resume driver flags: 0
[  425.479856] pci 0000:00:18.0: PM: completing bus resume driver flags: 0
[  425.479858] pci 0000:00:14.3: PM: completing bus resume driver flags: 0
[  425.479860] piix4_smbus 0000:00:14.0: PM: completing bus resume driver flags: 0
[  425.479862] pcieport 0000:00:08.1: PM: completing bus resume driver flags: 5
[  425.479864] pci 0000:00:08.0: PM: completing bus resume driver flags: 0
[  425.479866] pcieport 0000:00:02.4: PM: completing bus resume driver flags: 5
[  425.479869] pcieport 0000:00:02.2: PM: completing bus resume driver flags: 5
[  425.479871] pci 0000:00:02.0: PM: completing bus resume driver flags: 0
[  425.479873] pci 0000:00:01.0: PM: completing bus resume driver flags: 0
[  425.479875] pci 0000:00:00.2: PM: completing bus resume driver flags: 0
[  425.479877] pci 0000:00:00.0: PM: completing bus resume driver flags: 0
[  425.480947] OOM killer enabled.
[  425.480950] Restarting tasks: Starting
[  425.484841] Restarting tasks: Done
[  425.484872] random: crng reseeded on system resumption
[  425.497492] PM: suspend exit
[  425.522649] nvme nvme0: 8/0/0 default/read/poll queues
[  425.626534] wlp1s0: authenticate with d6:92:5e:eb:ee:15 (local address=c8:15:4e:63:1d:e8)
[  425.627989] wlp1s0: send auth to d6:92:5e:eb:ee:15 (try 1/3)
[  425.673199] wlp1s0: authenticated
[  425.675005] wlp1s0: associate with d6:92:5e:eb:ee:15 (try 1/3)
[  425.683276] wlp1s0: RX AssocResp from d6:92:5e:eb:ee:15 (capab=0x1011 status=0 aid=22)
[  425.696465] wlp1s0: associated
[  425.752282] wlp1s0: Limiting TX power to 23 (23 - 0) dBm as advertised by d6:92:5e:eb:ee:15
[  429.576385] PM: suspend entry (s2idle)
[  429.933653] Filesystems sync: 0.357 seconds
[  429.934172] Freezing user space processes
[  429.936426] Freezing user space processes completed (elapsed 0.002 seconds)
[  429.936430] OOM killer disabled.
[  429.936432] Freezing remaining freezable tasks
[  429.937694] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  429.937697] printk: Suspending console(s) (use no_console_suspend to debug)
[  430.199580] PM: suspend of devices aborted after 0.844 msecs
[  430.199586] PM: start suspend of devices aborted after 261.863 msecs
[  430.199588] PM: Some devices failed to suspend, or early wake event detected
[  430.199709]  memory: Attempt to enable runtime PM when it is blocked
[  430.199771] i2c i2c-3: Unbalanced pm_runtime_enable!
[  430.199780] snd_hda_codec_hdmi hdaudioC0D0: PM: driver resume driver flags: 0
[  430.199785] snd_hda_codec_hdmi hdaudioC0D0: Unbalanced pm_runtime_enable!
[  430.199789] CPU: 2 UID: 0 PID: 2508 Comm: amd_s2idle.py Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.199792] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.199793] Call Trace:
[  430.199794]  <TASK>
[  430.199795]  dump_stack_lvl+0x6e/0x90
[  430.199801]  pm_runtime_enable.cold+0x28/0x48
[  430.199803]  device_resume+0x47/0x220
[  430.199807]  dpm_resume+0x210/0x350
[  430.199810]  dpm_resume_end+0x11/0x20
[  430.199812]  suspend_devices_and_enter+0x18e/0x9f0
[  430.199817]  pm_suspend.cold+0x273/0x2cf
[  430.199820]  state_store+0x6c/0xd0
[  430.199823]  kernfs_fop_write_iter+0x194/0x250
[  430.199827]  vfs_write+0x254/0x550
[  430.199834]  ksys_write+0x71/0xe0
[  430.199837]  do_syscall_64+0x97/0x3d0
[  430.199839]  ? find_held_lock+0x2b/0x80
[  430.199842]  ? kernfs_fop_llseek+0x77/0xd0
[  430.199844]  ? lock_release+0xd1/0x2a0
[  430.199848]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.199851]  ? __lock_acquire+0x469/0x2200
[  430.199853]  ? kernfs_fop_llseek+0x77/0xd0
[  430.199858]  ? lock_acquire+0xc9/0x2d0
[  430.199860]  ? kernfs_fop_llseek+0x35/0xd0
[  430.199863]  ? __lock_acquire+0x469/0x2200
[  430.199868]  ? find_held_lock+0x2b/0x80
[  430.199869]  ? kernfs_fop_llseek+0x77/0xd0
[  430.199871]  ? lock_release+0xd1/0x2a0
[  430.199875]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.199879]  ? kernfs_fop_llseek+0x77/0xd0
[  430.199882]  ? ksys_lseek+0x39/0x90
[  430.199883] uvcvideo 1-3:1.0: Unbalanced pm_runtime_enable!
[  430.199884]  ? do_syscall_64+0x170/0x3d0
[  430.199885]  ? do_syscall_64+0x170/0x3d0
[  430.199886]  ? do_syscall_64+0x170/0x3d0
[  430.199889] usb 1-4:1.0: Attempt to enable runtime PM when it is blocked
[  430.199889]  ? do_syscall_64+0x170/0x3d0
[  430.199890]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
[  430.199892] ee1004 3-0050: Attempt to enable runtime PM when it is blocked
[  430.199893] ee1004 3-0051: Attempt to enable runtime PM when it is blocked
[  430.199894]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[  430.199895] RIP: 0033:0x7f0a53bab0d0
[  430.199898] btusb 3-3:1.1: Unbalanced pm_runtime_enable!
[  430.199898] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
[  430.199900] RSP: 002b:00007ffddbf30728 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[  430.199902] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f0a53bab0d0
[  430.199902] RDX: 0000000000000003 RSI: 000000002073d5d0 RDI: 0000000000000004
[  430.199903] RBP: 00007f0a53aa5fe8 R08: 0000000000000000 R09: 0000000000000002
[  430.199904] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
[  430.199904] R13: 0000000000000004 R14: 000000002073d5d0 R15: 0000000000a4bb48
[  430.199912]  </TASK>
[  430.199914] CPU: 0 UID: 0 PID: 114 Comm: kworker/u64:3 Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.199916] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.199918] Workqueue: async async_run_entry_fn
[  430.199922] Call Trace:
[  430.199924]  <TASK>
[  430.199924] memory memory0: Attempt to enable runtime PM when it is blocked
[  430.199926]  dump_stack_lvl+0x6e/0x90
[  430.199931]  pm_runtime_enable.cold+0x28/0x48
[  430.199934]  device_resume+0x47/0x220
[  430.199939]  async_resume+0x1d/0x30
[  430.199942]  async_run_entry_fn+0x2e/0x130
[  430.199947]  process_one_work+0x22b/0x5b0
[  430.199953]  worker_thread+0x1da/0x3d0
[  430.199956]  ? bh_worker+0x260/0x260
[  430.199957]  kthread+0x10a/0x250
[  430.199959]  ? kthreads_online_cpu+0x130/0x130
[  430.199961]  ret_from_fork+0x20c/0x270
[  430.199964]  ? kthreads_online_cpu+0x130/0x130
[  430.199965]  ret_from_fork_asm+0x11/0x20
[  430.199973]  </TASK>
[  430.199975] CPU: 2 UID: 0 PID: 2508 Comm: amd_s2idle.py Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.199978] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.199978] Call Trace:
[  430.199979]  <TASK>
[  430.199980]  dump_stack_lvl+0x6e/0x90
[  430.199982]  pm_runtime_enable.cold+0x28/0x48
[  430.199984]  device_resume+0x47/0x220
[  430.199986]  dpm_resume+0x210/0x350
[  430.199989]  dpm_resume_end+0x11/0x20
[  430.199990]  suspend_devices_and_enter+0x18e/0x9f0
[  430.199993]  pm_suspend.cold+0x273/0x2cf
[  430.199995]  state_store+0x6c/0xd0
[  430.199997]  kernfs_fop_write_iter+0x194/0x250
[  430.200000]  vfs_write+0x254/0x550
[  430.200005]  ksys_write+0x71/0xe0
[  430.200007]  do_syscall_64+0x97/0x3d0
[  430.200009]  ? find_held_lock+0x2b/0x80
[  430.200010]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200012]  ? lock_release+0xd1/0x2a0
[  430.200015]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.200017]  ? __lock_acquire+0x469/0x2200
[  430.200019]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200022]  ? lock_acquire+0xc9/0x2d0
[  430.200024]  ? kernfs_fop_llseek+0x35/0xd0
[  430.200027]  ? __lock_acquire+0x469/0x2200
[  430.200030]  ? find_held_lock+0x2b/0x80
[  430.200031]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200033]  ? lock_release+0xd1/0x2a0
[  430.200036]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.200038]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200041]  ? ksys_lseek+0x39/0x90
[  430.200042]  ? do_syscall_64+0x170/0x3d0
[  430.200043]  ? do_syscall_64+0x170/0x3d0
[  430.200044]  ? do_syscall_64+0x170/0x3d0
[  430.200046]  ? do_syscall_64+0x170/0x3d0
[  430.200046]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
[  430.200048]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[  430.200049] RIP: 0033:0x7f0a53bab0d0
[  430.200050] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
[  430.200051] RSP: 002b:00007ffddbf30728 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[  430.200051] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f0a53bab0d0
[  430.200052] RDX: 0000000000000003 RSI: 000000002073d5d0 RDI: 0000000000000004
[  430.200052] RBP: 00007f0a53aa5fe8 R08: 0000000000000000 R09: 0000000000000002
[  430.200053] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
[  430.200053] R13: 0000000000000004 R14: 000000002073d5d0 R15: 0000000000a4bb48
[  430.200058]  </TASK>
[  430.200060] memory memory1: Attempt to enable runtime PM when it is blocked
[  430.200059] CPU: 11 UID: 0 PID: 2532 Comm: kworker/u64:32 Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.200062] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.200062] Workqueue: async async_run_entry_fn
[  430.200065] Call Trace:
[  430.200066]  <TASK>
[  430.200068]  dump_stack_lvl+0x6e/0x90
[  430.200071]  pm_runtime_enable.cold+0x28/0x48
[  430.200073]  device_resume+0x47/0x220
[  430.200076]  async_resume+0x1d/0x30
[  430.200077]  async_run_entry_fn+0x2e/0x130
[  430.200080]  process_one_work+0x22b/0x5b0
[  430.200085]  worker_thread+0x1da/0x3d0
[  430.200088]  ? bh_worker+0x260/0x260
[  430.200089]  kthread+0x10a/0x250
[  430.200091]  ? kthreads_online_cpu+0x130/0x130
[  430.200093]  ret_from_fork+0x20c/0x270
[  430.200094]  ? kthreads_online_cpu+0x130/0x130
[  430.200095]  ret_from_fork_asm+0x11/0x20
[  430.200102]  </TASK>
[  430.200103] CPU: 2 UID: 0 PID: 2508 Comm: amd_s2idle.py Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.200104] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.200104] Call Trace:
[  430.200104]  <TASK>
[  430.200105]  dump_stack_lvl+0x6e/0x90
[  430.200107]  pm_runtime_enable.cold+0x28/0x48
[  430.200108]  device_resume+0x47/0x220
[  430.200110]  dpm_resume+0x210/0x350
[  430.200113]  dpm_resume_end+0x11/0x20
[  430.200114]  suspend_devices_and_enter+0x18e/0x9f0
[  430.200117]  pm_suspend.cold+0x273/0x2cf
[  430.200119]  state_store+0x6c/0xd0
[  430.200121]  kernfs_fop_write_iter+0x194/0x250
[  430.200123]  vfs_write+0x254/0x550
[  430.200128]  ksys_write+0x71/0xe0
[  430.200130]  do_syscall_64+0x97/0x3d0
[  430.200132]  ? find_held_lock+0x2b/0x80
[  430.200133]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200135]  ? lock_release+0xd1/0x2a0
[  430.200138]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.200140]  ? __lock_acquire+0x469/0x2200
[  430.200141]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200144]  ? lock_acquire+0xc9/0x2d0
[  430.200146]  ? kernfs_fop_llseek+0x35/0xd0
[  430.200149]  ? __lock_acquire+0x469/0x2200
[  430.200152]  ? find_held_lock+0x2b/0x80
[  430.200153]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200155]  ? lock_release+0xd1/0x2a0
[  430.200158]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.200160]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200163]  ? ksys_lseek+0x39/0x90
[  430.200164]  ? do_syscall_64+0x170/0x3d0
[  430.200165]  ? do_syscall_64+0x170/0x3d0
[  430.200166]  ? do_syscall_64+0x170/0x3d0
[  430.200167]  ? do_syscall_64+0x170/0x3d0
[  430.200168]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
[  430.200170]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[  430.200171] RIP: 0033:0x7f0a53bab0d0
[  430.200172] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
[  430.200172] RSP: 002b:00007ffddbf30728 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[  430.200173] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f0a53bab0d0
[  430.200173] RDX: 0000000000000003 RSI: 000000002073d5d0 RDI: 0000000000000004
[  430.200173] RBP: 00007f0a53aa5fe8 R08: 0000000000000000 R09: 0000000000000002
[  430.200174] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
[  430.200174] R13: 0000000000000004 R14: 000000002073d5d0 R15: 0000000000a4bb48
[  430.200179]  </TASK>
[  430.200180] memory memory2: Attempt to enable runtime PM when it is blocked
[  430.200180] CPU: 15 UID: 0 PID: 2525 Comm: kworker/u64:25 Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.200182] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.200183] Workqueue: async async_run_entry_fn
[  430.200186] Call Trace:
[  430.200187]  <TASK>
[  430.200189]  dump_stack_lvl+0x6e/0x90
[  430.200192]  pm_runtime_enable.cold+0x28/0x48
[  430.200194]  device_resume+0x47/0x220
[  430.200199]  async_resume+0x1d/0x30
[  430.200200]  async_run_entry_fn+0x2e/0x130
[  430.200203]  process_one_work+0x22b/0x5b0
[  430.200208]  worker_thread+0x1da/0x3d0
[  430.200211]  ? bh_worker+0x260/0x260
[  430.200212]  kthread+0x10a/0x250
[  430.200214]  ? kthreads_online_cpu+0x130/0x130
[  430.200216]  ret_from_fork+0x20c/0x270
[  430.200217]  ? kthreads_online_cpu+0x130/0x130
[  430.200218]  ret_from_fork_asm+0x11/0x20
[  430.200225]  </TASK>
[  430.200226] CPU: 2 UID: 0 PID: 2508 Comm: amd_s2idle.py Not tainted 6.15.0-09120-g17abf5027caf #441 PREEMPT(voluntary) 
[  430.200227] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  430.200227] Call Trace:
[  430.200227]  <TASK>
[  430.200228]  dump_stack_lvl+0x6e/0x90
[  430.200230]  pm_runtime_enable.cold+0x28/0x48
[  430.200231]  device_resume+0x47/0x220
[  430.200233]  dpm_resume+0x210/0x350
[  430.200235]  dpm_resume_end+0x11/0x20
[  430.200237]  suspend_devices_and_enter+0x18e/0x9f0
[  430.200239]  pm_suspend.cold+0x273/0x2cf
[  430.200241]  state_store+0x6c/0xd0
[  430.200243]  kernfs_fop_write_iter+0x194/0x250
[  430.200246]  vfs_write+0x254/0x550
[  430.200251]  ksys_write+0x71/0xe0
[  430.200253]  do_syscall_64+0x97/0x3d0
[  430.200254]  ? find_held_lock+0x2b/0x80
[  430.200255]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200257]  ? lock_release+0xd1/0x2a0
[  430.200260]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.200262]  ? __lock_acquire+0x469/0x2200
[  430.200264]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200267]  ? lock_acquire+0xc9/0x2d0
[  430.200268]  ? kernfs_fop_llseek+0x35/0xd0
[  430.200271]  ? __lock_acquire+0x469/0x2200
[  430.200275]  ? find_held_lock+0x2b/0x80
[  430.200276]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200278]  ? lock_release+0xd1/0x2a0
[  430.200281]  ? __mutex_unlock_slowpath+0x3c/0x2c0
[  430.200284]  ? kernfs_fop_llseek+0x77/0xd0
[  430.200286]  ? ksys_lseek+0x39/0x90
[  430.200287]  ? do_syscall_64+0x170/0x3d0
[  430.200288]  ? do_syscall_64+0x170/0x3d0
[  430.200289]  ? do_syscall_64+0x170/0x3d0
[  430.200291]  ? do_syscall_64+0x170/0x3d0
[  430.200291]  ? lockdep_hardirqs_on_prepare+0xd7/0x170
[  430.200293]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[  430.200294] RIP: 0033:0x7f0a53bab0d0
[  430.200295] Code: 2d 0e 00 64 c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 80 3d 99 af 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
[  430.200295] RSP: 002b:00007ffddbf30728 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[  430.200296] RAX: ffffffffffffffda RBX: 0000000000a794f0 RCX: 00007f0a53bab0d0
[  430.200296] RDX: 0000000000000003 RSI: 000000002073d5d0 RDI: 0000000000000004
[  430.200296] RBP: 00007f0a53aa5fe8 R08: 0000000000000000 R09: 0000000000000002
[  430.200297] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000003
[  430.200297] R13: 0000000000000004 R14: 000000002073d5d0 R15: 0000000000a4bb48
[  430.200302]  </TASK>
[  430.200304] memory memory3: Attempt to enable runtime PM when it is blocked
... (stacktraces repeat for thousands of lines)

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 12:14                       ` Chris Bainbridge
@ 2025-06-03 12:23                         ` Rafael J. Wysocki
  2025-06-03 12:26                           ` Chris Bainbridge
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 12:23 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Rafael J. Wysocki, Mario Limonciello, Rafael J. Wysocki, Linux PM,
	LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan, amd-gfx

On Tue, Jun 3, 2025 at 2:15 PM Chris Bainbridge
<chris.bainbridge@gmail.com> wrote:
>
> On Tue, Jun 03, 2025 at 01:39:01PM +0200, Rafael J. Wysocki wrote:
> > On Tue, Jun 3, 2025 at 1:37 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >
> > > On Tue, Jun 3, 2025 at 12:30 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > > >
> > > > On Tue, Jun 3, 2025 at 12:29 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > > > >
> > > > > On Tue, Jun 3, 2025 at 12:17 PM Chris Bainbridge
> > > > > <chris.bainbridge@gmail.com> wrote:
> > > > > >
> > > > > > On Tue, Jun 03, 2025 at 11:38:37AM +0200, Rafael J. Wysocki wrote:
> > > > > > >
> > > > > > > Chris, please check if the attached patch helps.  I'm going to post it
> > > > > > > as a fix anyway later today, but it would be good to verify that it is
> > > > > > > sufficient.
> > > > > >
> > > > > > This did not fix my test case, pstore crash log was:
> > > > >
> > > > > OK, so can you please enable PM debug messages:
> > > > >
> > > > > # echo 1 > /sys/power/pm_debug/messages
> > > >
> > > > This should be
> > > >
> > > > # echo 1 > /sys/power/pm_debug_messages
> > > >
> > > > sorry.
> > > >
> > > > > and enabled dynamic debug in drivers/base/power/main.c:
> > > > >
> > > > > # echo "file drivers/base/power/main.c +p" > /proc/dynamic_debug/control
> > > > >
> > > > > repeat the test and capture the log?
> > >
> > > Actually, no need to do this, there is an obvious bug:
> > > list_splice_init() should be used instead of list_splice() when the
> > > emptied list is going to be used again.  Ugh.
> > >
> > > Please check if the attached patch along with the previous one makes
> > > the issue go away entirely.
> >
> > Really attached this time, sorry.
>
> > ---
> >  drivers/base/power/main.c |    6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > --- a/drivers/base/power/main.c
> > +++ b/drivers/base/power/main.c
> > @@ -1458,7 +1458,7 @@
> >                        * Move all devices to the target list to resume them
> >                        * properly.
> >                        */
> > -                     list_splice(&dpm_late_early_list, &dpm_noirq_list);
> > +                     list_splice_init(&dpm_late_early_list, &dpm_noirq_list);
> >                       break;
> >               }
> >       }
> > @@ -1660,7 +1660,7 @@
> >                        * Move all devices to the target list to resume them
> >                        * properly.
> >                        */
> > -                     list_splice(&dpm_suspended_list, &dpm_late_early_list);
> > +                     list_splice_init(&dpm_suspended_list, &dpm_late_early_list);
> >                       break;
> >               }
> >       }
> > @@ -1953,7 +1953,7 @@
> >                        * Move all devices to the target list to resume them
> >                        * properly.
> >                        */
> > -                     list_splice(&dpm_prepared_list, &dpm_suspended_list);
> > +                     list_splice_init(&dpm_prepared_list, &dpm_suspended_list);
> >                       break;
> >               }
> >       }
>
> This patch does fix the list corruption, but the "Unbalanced
> pm_runtime_enable" still occurs:

Have you applied it together with the previous patch?

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 12:23                         ` Rafael J. Wysocki
@ 2025-06-03 12:26                           ` Chris Bainbridge
  2025-06-03 13:04                             ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Chris Bainbridge @ 2025-06-03 12:26 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

On Tue, 3 Jun 2025 at 13:24, Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > This patch does fix the list corruption, but the "Unbalanced
> > pm_runtime_enable" still occurs:
>
> Have you applied it together with the previous patch?

Yes

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 12:26                           ` Chris Bainbridge
@ 2025-06-03 13:04                             ` Rafael J. Wysocki
  2025-06-03 13:36                               ` Chris Bainbridge
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 13:04 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Rafael J. Wysocki, Mario Limonciello, Rafael J. Wysocki, Linux PM,
	LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan, amd-gfx

[-- Attachment #1: Type: text/plain, Size: 649 bytes --]

On Tue, Jun 3, 2025 at 2:27 PM Chris Bainbridge
<chris.bainbridge@gmail.com> wrote:
>
> On Tue, 3 Jun 2025 at 13:24, Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >
> > > This patch does fix the list corruption, but the "Unbalanced
> > > pm_runtime_enable" still occurs:
> >
> > Have you applied it together with the previous patch?
>
> Yes

So it looks like some devices have power.is_suspended set from the
previous cycle which causes device_resume() to attempt to resume them
even though they have not been suspended in the current cycle yet.

Please try the attached patch in addition to the previous 2 patches.

Thanks!

[-- Attachment #2: pm-sleep-is_suspended-cleanup.patch --]
[-- Type: text/x-patch, Size: 544 bytes --]

---
 drivers/base/power/main.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -992,6 +992,8 @@
 	if (!dev->power.is_suspended)
 		goto Complete;
 
+	dev->power.is_suspended = false;
+
 	if (dev->power.direct_complete) {
 		/*
 		 * Allow new children to be added under the device after this
@@ -1054,7 +1056,6 @@
 
  End:
 	error = dpm_run_callback(callback, dev, state, info);
-	dev->power.is_suspended = false;
 
 	device_unlock(dev);
 	dpm_watchdog_clear(&wd);

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 13:04                             ` Rafael J. Wysocki
@ 2025-06-03 13:36                               ` Chris Bainbridge
  2025-06-03 13:59                                 ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Chris Bainbridge @ 2025-06-03 13:36 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Mario Limonciello, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Manivannan Sadhasivam, Jon Hunter,
	Saravana Kannan, amd-gfx

On Tue, Jun 03, 2025 at 03:04:33PM +0200, Rafael J. Wysocki wrote:
> On Tue, Jun 3, 2025 at 2:27 PM Chris Bainbridge
> <chris.bainbridge@gmail.com> wrote:
> >
> > On Tue, 3 Jun 2025 at 13:24, Rafael J. Wysocki <rafael@kernel.org> wrote:
> > > >
> > > > This patch does fix the list corruption, but the "Unbalanced
> > > > pm_runtime_enable" still occurs:
> > >
> > > Have you applied it together with the previous patch?
> >
> > Yes
> 
> So it looks like some devices have power.is_suspended set from the
> previous cycle which causes device_resume() to attempt to resume them
> even though they have not been suspended in the current cycle yet.
> 
> Please try the attached patch in addition to the previous 2 patches.
> 
> Thanks!

That fixed it. Passed 30 attempted suspends without error.

Reported-and-tested-by: Chris Bainbridge <chris.bainbridge@gmail.com>

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children
  2025-06-03 13:36                               ` Chris Bainbridge
@ 2025-06-03 13:59                                 ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-06-03 13:59 UTC (permalink / raw)
  To: Chris Bainbridge
  Cc: Rafael J. Wysocki, Mario Limonciello, Rafael J. Wysocki, Linux PM,
	LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan, amd-gfx

On Tue, Jun 3, 2025 at 3:36 PM Chris Bainbridge
<chris.bainbridge@gmail.com> wrote:
>
> On Tue, Jun 03, 2025 at 03:04:33PM +0200, Rafael J. Wysocki wrote:
> > On Tue, Jun 3, 2025 at 2:27 PM Chris Bainbridge
> > <chris.bainbridge@gmail.com> wrote:
> > >
> > > On Tue, 3 Jun 2025 at 13:24, Rafael J. Wysocki <rafael@kernel.org> wrote:
> > > > >
> > > > > This patch does fix the list corruption, but the "Unbalanced
> > > > > pm_runtime_enable" still occurs:
> > > >
> > > > Have you applied it together with the previous patch?
> > >
> > > Yes
> >
> > So it looks like some devices have power.is_suspended set from the
> > previous cycle which causes device_resume() to attempt to resume them
> > even though they have not been suspended in the current cycle yet.
> >
> > Please try the attached patch in addition to the previous 2 patches.
> >
> > Thanks!
>
> That fixed it. Passed 30 attempted suspends without error.
>
> Reported-and-tested-by: Chris Bainbridge <chris.bainbridge@gmail.com>

Thanks for verifying!

I will add changelogs to the patches and send them later today.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-03-14 12:50 ` [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent Rafael J. Wysocki
  2025-05-01  9:51   ` Jon Hunter
@ 2025-07-11 13:08   ` Tudor Ambarus
  2025-07-11 13:38     ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Tudor Ambarus @ 2025-07-11 13:08 UTC (permalink / raw)
  To: Rafael J. Wysocki, Linux PM
  Cc: LKML, Alan Stern, Ulf Hansson, Johan Hovold,
	Manivannan Sadhasivam, Jon Hunter, Saravana Kannan,
	William McVicker, Peter Griffin, André Draszik


Hi, Rafael,

On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> According to [1], the handling of device suspend and resume, and
> particularly the latter, involves unnecessary overhead related to
> starting new async work items for devices that cannot make progress
> right away because they have to wait for other devices.
> 
> To reduce this problem in the resume path, use the observation that
> starting the async resume of the children of a device after resuming
> the parent is likely to produce less scheduling and memory management
> noise than starting it upfront while at the same time it should not
> increase the resume duration substantially.
> 
> Accordingly, modify the code to start the async resume of the device's
> children when the processing of the parent has been completed in each
> stage of device resume and only start async resume upfront for devices
> without parents.
> 
> Also make it check if a given device can be resumed asynchronously
> before starting the synchronous resume of it in case it will have to
> wait for another that is already resuming asynchronously.
> 
> In addition to making the async resume of devices more friendly to
> systems with relatively less computing resources, this change is also
> preliminary for analogous changes in the suspend path.
> 
> On the systems where it has been tested, this change by itself does
> not affect the overall system resume duration in a measurable way.
> 
> Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

I'd like to let you know of a suspend crash that I'm dealing with
when using the OOT pixel6 drivers on top of v6.16-rc4.

Similar to what Jon reported, everything gets back to normal if
I disable pm_async or if I revert the following patches:
443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
0cbef962ce1f PM: sleep: Resume children after resuming the parent

I also reverted their fixes when testing:
8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths

It seems that the hang happens in dpm_suspend() at
async_synchronize_full() time after a driver fails to suspend.
The phone then naturally resets with an APC watchdog.

[  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
[  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
[  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
[  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
[  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
[  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full

The extra prints are because of:
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index d9d4fc58bc5a..3efe538c2ec2 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
                        break;
                }
        }
+       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
+              __func__, list_empty(&dpm_prepared_list));
 
        mutex_unlock(&dpm_list_mtx);
 
+       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
        async_synchronize_full();
+       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
+
        if (!error)
                error = async_error;

The synchronous suspend works because its strict, one-by-one ordering
ensures that device dependencies are met and that no device is suspended
while another is still using it. The asynchronous suspend fails because
it creates a race condition where the lwis-eeprom-m24c64x is called for
suspension before the process using it has been suspended, leading to a
fatal "device busy" error. Should the failure of a device suspend be
fatal?

Below are the async/sync suspend-resume dumps. Thanks!
ta

1/ ASYNC suspend
tudor: Suspending to RAM for 1 second...
[ 1505.264089][T10723] lwis lwis-dpm: Opening instance 20
[ 1505.280037][T10723] lwis lwis-slc: Opening instance 19
[ 1505.280189][T10723] lwis lwis-scsc: Opening instance 9
[ 1505.280280][T10723] lwis lwis-scsc: No LWIS bus manager associated with this device.
[ 1505.282691][T10723] lwis lwis-mcsc: Opening instance 8
[ 1505.282790][T10723] lwis lwis-mcsc: No LWIS bus manager associated with this device.
[ 1505.283072][T10723] lwis lwis-gdc1: Opening instance 11
[ 1505.283164][T10723] lwis lwis-gdc1: No LWIS bus manager associated with this device.
[ 1505.283425][T10723] lwis lwis-gdc0: Opening instance 10
[ 1505.283516][T10723] lwis lwis-gdc0: No LWIS bus manager associated with this device.
[ 1505.283753][T10723] lwis lwis-gtnr-merge: Opening instance 5
[ 1505.283850][T10723] lwis lwis-gtnr-merge: No LWIS bus manager associated with this device.
[ 1505.284134][T10723] lwis lwis-itp: Opening instance 7
[ 1505.284222][T10723] lwis lwis-itp: No LWIS bus manager associated with this device.
[ 1505.284358][T10732] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 01:19:52(0x10)AM
[ 1505.284533][T10723] lwis lwis-gtnr-align: Opening instance 4
[ 1505.284890][T10723] lwis lwis-gtnr-align: No LWIS bus manager associated with this device.
[ 1505.285314][T10723] lwis lwis-g3aa: Opening instance 6
[ 1505.285403][T10723] lwis lwis-g3aa: No LWIS bus manager associated with this device.
[ 1505.286053][T10723] lwis lwis-ipp: Opening instance 3
[ 1505.286141][T10723] lwis lwis-ipp: No LWIS bus manager associated with this device.
[ 1505.286252][T10732] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 01:19:52(0x10)AM
[ 1505.286394][T10723] lwis lwis-pdp: Opening instance 2
[ 1505.286701][T10723] lwis lwis-pdp: No LWIS bus manager associated with this device.
[ 1505.287040][T10723] lwis lwis-csi: Opening instance 1
[ 1505.287181][T10723] lwis lwis-csi: No LWIS bus manager associated with this device.
[ 1505.287644][T10723] lwis lwis-votf: Opening instance 12
[ 1505.287733][T10723] lwis lwis-votf: No LWIS bus manager associated with this device.
[ 1505.287790][T10732] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 01:19:52(0x10)AM
[ 1505.288014][T10723] lwis lwis-flash-lm3644: Opening instance 18
[ 1505.288284][T10732] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_set_alarm: 2025-07-10 01:19:54(0x10)AM
[ 1505.288515][T10723] lwis lwis-flash-lm3644: Connecting client flash-lm3644(00000000609d9f1e) to bus I2C_Bus_7
[ 1505.289297][T10723] lwis lwis-flash-lm3644: Failed to obtain enable gpio list (-16)
[ 1505.289510][T10723] lwis lwis-flash-lm3644: Error power_up_by_default (-16)
[ 1505.289778][T10723] lwis lwis-flash-lm3644: Failed to power up device
[ 1505.291533][T10723] lwis lwis-flash-lm3644: Closing instance 18
[ 1505.291699][T10723] lwis lwis-flash-lm3644: Disconnecting LWIS client flash-lm3644(00000000609d9f1e) from bus I2C_Bus_7
[ 1505.291896][T10723] lwis lwis-ois-lc898128: Opening instance 17
[ 1505.291994][T10723] lwis lwis-ois-lc898128: Connecting client ois-lc898128(00000000609d9f1e) to bus I2C_Bus_1
[ 1505.292162][T10723] lwis lwis-act-ak7377: Opening instance 16
[ 1505.292259][T10723] lwis lwis-act-ak7377: Connecting client act-ak7377(00000000282be506) to bus I2C_Bus_1
[ 1505.292527][T10723] lwis lwis-eeprom-lc898128: Opening instance 13
[ 1505.292758][T10723] lwis lwis-eeprom-lc898128: Connecting client eeprom-lc898128(00000000f5f087a5) to bus I2C_Bus_1
[ 1505.293212][T10723] lwis lwis-eeprom-m24c64x: Opening instance 15
[ 1505.293393][T10723] lwis lwis-eeprom-m24c64x: Connecting client eeprom-m24c64x(00000000126469a8) to bus I2C_Bus_3
[ 1505.293831][T10723] lwis lwis-eeprom-m24c64s: Opening instance 14
[ 1505.294016][T10723] lwis lwis-eeprom-m24c64s: Connecting client eeprom-m24c64s(00000000e2534997) to bus I2C_Bus_2
[ 1505.311663][ T1088] probe of gadget.0 returned 0 after 63729 usecs
[ 1505.314441][T10732] PM: suspend entry (deep)
[ 1505.316067][T10723] i2c 1-0024: Shared i2c pinctrl state on_i2c
[ 1505.319800][T10732] Filesystems sync: 0.005 seconds
[ 1505.319993][T10732] [01:19:52.481332][dhd][wlan]dhd_pm_callback action: 3
[ 1505.326294][T10732] PM: suspend entry 2025-07-10 01:19:52.487634359 UTC
[ 1505.326871][T10732] cpif: s5100_pm_notifier: Suspend prepare
[ 1505.326993][T10732] s3c2410-wdt 10070000.watchdog_cl1: Watchdog cluster 1 keepalive!, old_wtcnt = fcb1, wtcnt = ffaf
[ 1505.327285][T10732] Freezing user space processes
[ 1505.344339][T10732] Freezing user space processes completed (elapsed 0.016 seconds)
[ 1505.344492][T10732] OOM killer disabled.
[ 1505.344567][T10732] Freezing remaining freezable tasks
[ 1505.352756][T10732] Freezing remaining freezable tasks completed (elapsed 0.008 seconds)
[ 1505.356795][T10732] exynos-pcie-rc 11920000.pcie: remove enable cnt to fake enable = 0
[ 1505.360127][T10711] s51xx 0000:01:00.0: PM: calling pci_pm_suspend @ 10711, parent: 0000:00:00.0
[ 1505.360302][T10711] s51xx 0000:01:00.0: PM: pci_pm_suspend returned 0 after 4 usecs
[ 1505.361060][  T436] stmvl53l1 1-0029: PM: calling stmvl53l1_suspend [stmvl53l1] @ 436, parent: i2c-1
[ 1505.361376][  T436] stmvl53l1 1-0029: PM: stmvl53l1_suspend [stmvl53l1] returned 0 after 14 usecs
[ 1505.361748][T10732] platform dbgdev-pd-bus2: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.361929][T10732] platform dbgdev-pd-bus2: PM: platform_pm_suspend returned 0 after 3 usecs
[ 1505.362089][T10732] platform dbgdev-pd-bus1: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.362261][T10732] platform dbgdev-pd-bus1: PM: platform_pm_suspend returned 0 after 2 usecs
[ 1505.362421][T10732] platform dbgdev-pd-aoc: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.362727][T10732] platform dbgdev-pd-aoc: PM: platform_pm_suspend returned 0 after 2 usecs
[ 1505.363051][T10732] platform dbgdev-pd-hsi2: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.363430][T10732] platform dbgdev-pd-hsi2: PM: platform_pm_suspend returned 0 after 2 usecs
[ 1505.363795][T10732] sound pcmC0D32c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.364061][T10732] sound pcmC0D32c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.364344][T10732] sound pcmC0D31p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.364646][T10732] sound pcmC0D31p: PM: do_pcm_suspend returned 0 after 4 usecs
[ 1505.364930][T10732] sound pcmC0D30p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.365231][T10732] sound pcmC0D30p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.365504][T10732] sound pcmC0D29p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.365788][T10732] sound pcmC0D29p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.366102][T10732] sound pcmC0D28p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.366401][T10732] sound pcmC0D28p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.366686][T10732] sound pcmC0D27c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.366986][T10732] sound pcmC0D27c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.367272][T10732] sound pcmC0D26c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.367547][T10732] sound pcmC0D26c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.367857][T10732] sound pcmC0D25p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.368158][T10732] sound pcmC0D25p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.368441][T10732] sound pcmC0D24p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.368743][T10732] sound pcmC0D24p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.369028][T10732] sound pcmC0D23p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.369328][T10732] sound pcmC0D23p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.369605][T10732] sound pcmC0D22c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.369886][T10732] sound pcmC0D22c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.370199][T10732] sound pcmC0D21c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.370499][T10732] sound pcmC0D21c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.370784][T10732] sound pcmC0D20c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.371084][T10732] sound pcmC0D20c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.371369][T10732] sound pcmC0D19p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.371645][T10732] sound pcmC0D19p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.371954][T10732] sound pcmC0D18p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.372254][T10732] sound pcmC0D18p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.372541][T10732] sound pcmC0D17c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.372840][T10732] sound pcmC0D17c: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.373125][T10732] sound pcmC0D16p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.373425][T10732] sound pcmC0D16p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.373682][T10732] sound pcmC0D15c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.373984][T10732] sound pcmC0D15c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.374295][T10732] sound pcmC0D14p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.374595][T10732] sound pcmC0D14p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.374882][T10732] sound pcmC0D13c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.375181][T10732] sound pcmC0D13c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.375466][T10732] sound pcmC0D12c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.375767][T10732] sound pcmC0D12c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.376052][T10732] sound pcmC0D11c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.376353][T10732] sound pcmC0D11c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.376637][T10732] sound pcmC0D10c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.376938][T10732] sound pcmC0D10c: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.377223][T10732] sound pcmC0D9c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.377507][T10732] sound pcmC0D9c: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.377773][T10732] sound pcmC0D8c: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.378070][T10732] sound pcmC0D8c: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.378352][T10732] sound pcmC0D7p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.378652][T10732] sound pcmC0D7p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.378959][T10732] sound pcmC0D5p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.379256][T10732] sound pcmC0D5p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.379509][T10732] sound pcmC0D4p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.379835][T10732] sound pcmC0D4p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.380118][T10732] sound pcmC0D3p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.380413][T10732] sound pcmC0D3p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.380695][T10732] sound pcmC0D2p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.380991][T10732] sound pcmC0D2p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 1505.381275][T10732] sound pcmC0D1p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.381553][T10732] sound pcmC0D1p: PM: do_pcm_suspend returned 0 after 3 usecs
[ 1505.382028][T10732] sound pcmC0D0p: PM: calling do_pcm_suspend @ 10732, parent: card0
[ 1505.382195][T10732] sound pcmC0D0p: PM: do_pcm_suspend returned 0 after 6 usecs
[ 1505.382712][T10732] google-aoc-snd-card sound-aoc: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.382893][T10732] google-aoc-snd-card sound-aoc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 1505.383343][T10732] aoc_uwb_pdrv aoc_gpiochip: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.383516][T10732] aoc_uwb_pdrv aoc_gpiochip: PM: platform_pm_suspend returned 0 after 1 usecs
[ 1505.383931][T10732] input input3: PM: calling input_dev_suspend @ 10732, parent: spi11.0
[ 1505.384129][T10732] input input3: PM: input_dev_suspend returned 0 after 3 usecs
[ 1505.384438][T10732] fts spi11.0: PM: calling fts_pm_suspend [ftm5] @ 10732, parent: spi11
[ 1505.384749][T10732] fts spi11.0: PM: fts_pm_suspend [ftm5] returned 0 after 2 usecs
[ 1505.385055][T10732] rfkill rfkill2: PM: calling rfkill_suspend [rfkill] @ 10732, parent: none
[ 1505.385369][T10732] rfkill rfkill2: PM: rfkill_suspend [rfkill] returned 0 after 4 usecs
[ 1505.385660][T10732] rfkill rfkill1: PM: calling rfkill_suspend [rfkill] @ 10732, parent: phy0
[ 1505.386003][T10732] rfkill rfkill1: PM: rfkill_suspend [rfkill] returned 0 after 3 usecs
[ 1505.386331][T10732] sscoredump wlan: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.386613][T10732] sscoredump wlan: PM: platform_pm_suspend returned 0 after 2 usecs
[ 1505.386532][T10697] ieee80211 phy0: PM: calling wiphy_suspend [cfg80211] @ 10697, parent: none
[ 1505.386733][T10704] pcieh 0001:01:00.0: PM: calling pci_pm_suspend @ 10704, parent: 0001:00:00.0
[ 1505.386921][T10732] leds vibrator: PM: calling led_suspend @ 10732, parent: i2c-c240l2x
[ 1505.386847][T10697] ieee80211 phy0: PM: wiphy_suspend [cfg80211] returned 0 after 21 usecs
[ 1505.388206][T10732] leds vibrator: PM: led_suspend returned 0 after 2 usecs
[ 1505.388501][T10732] backlight panel0-backlight: PM: calling backlight_suspend @ 10732, parent: 1c2c0000.drmdsim.0
[ 1505.388886][T10732] backlight panel0-backlight: PM: backlight_suspend returned 0 after 2 usecs
[ 1505.389190][T10732] panel-samsung-s6e3fc3 1c2c0000.drmdsim.0: PM: calling pm_generic_suspend @ 10732, parent: 1c2c0000.drmdsim
[ 1505.389630][T10732] panel-samsung-s6e3fc3 1c2c0000.drmdsim.0: PM: pm_generic_suspend returned 0 after 1 usecs
[ 1505.390009][T10732] exynos-dsim 1c2c0000.drmdsim: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.390374][T10732] exynos-dsim 1c2c0000.drmdsim: PM: platform_pm_suspend returned 0 after 1 usecs
[ 1505.390742][T10732] rfkill rfkill0: PM: calling rfkill_suspend [rfkill] @ 10732, parent: odm:btbcm
[ 1505.390811][T10700] st21nfc i2c-st21nfc: PM: calling st21nfc_suspend [st21nfc] @ 10700, parent: i2c-7
[ 1505.391085][T10732] rfkill rfkill0: PM: rfkill_suspend [rfkill] returned 0 after 30 usecs
[ 1505.391453][T10700] st21nfc i2c-st21nfc: PM: st21nfc_suspend [st21nfc] returned 0 after 40 usecs
[ 1505.391752][T10732] cs40l2x-codec cs40l2x-codec.4.auto: PM: calling platform_pm_suspend @ 10732, parent: i2c-c240l2x
[ 1505.392498][T10732] cs40l2x-codec cs40l2x-codec.4.auto: PM: platform_pm_suspend returned 0 after 1 usecs
[ 1505.392875][T10732] lwis-i2c ois@0: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.393038][T10697] cs40l2x i2c-c240l2x: PM: calling cs40l2x_sys_suspend [haptics_cs40l2x] @ 10697, parent: i2c-8
[ 1505.393153][T10732] lwis-i2c ois@0: PM: platform_pm_suspend returned 0 after 6 usecs
[ 1505.393644][T10697] cs40l2x i2c-c240l2x: PM: cs40l2x_sys_suspend [haptics_cs40l2x] returned 0 after 21 usecs
[ 1505.393847][T10732] lwis-i2c actuator@0: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.394570][T10732] lwis-i2c actuator@0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 1505.394905][T10732] lwis-i2c eeprom@2: PM: calling platform_pm_suspend @ 10732, parent: platform
[ 1505.395235][T10732] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
[ 1505.395559][T10732] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
[ 1505.395888][T10732] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 655 usecs
[ 1505.396209][T10732] lwis-i2c eeprom@2: PM: failed to suspend: error -16
[ 1505.396460][T10732] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
[ 1505.396792][T10732] PM: tudor: dpm_suspend: before async_synchronize_full
[ 1505.399818][T10704] [01:19:52.561155][dhd][wlan]dhd_plat_l1ss_ctrl: Control L1ss RC side 0 ret:0
[ 1505.413173][T10704] pcieh 0001:01:00.0: PM: pci_pm_suspend returned 0 after 25929 usecs
[ 1505.610119][T10182] google,charger google,charger: chg_psy_changed name=usb evt=0
[ 1505.613566][ T9310] google_charger: usbchg=USB typec=C usbv=5100 usbc=0 usbMv=5000 usbMc=100
[ 1505.619073][ T9310] google_battery: MSC_DIN chg_state=1f4113101030001 f=0x1 chg_s=Not Charging chg_t=N/A vchg=4401 icl=500
[ 1505.620778][ T9310] google_battery: MSC_VOTE msc_state=2 cv_cnt=3 ov_cnt=0 rl_sts=-1 temp_idx:2, vbatt_idx:2  fv_uv=4450000 cc_max=0 update_interval=-1
[ 1505.710750][ T9310] google,charger google,charger: chg_psy_changed name=usb evt=0
[ 1505.713907][ T9310] google_charger: usbchg=USB typec=C usbv=5100 usbc=0 usbMv=5000 usbMc=100
[ 1505.717975][ T9310] google_battery: MSC_DIN chg_state=1f4113101030001 f=0x1 chg_s=Not Charging chg_t=N/A vchg=4401 icl=500
[ 1505.719584][ T9310] google_battery: MSC_VOTE msc_state=2 cv_cnt=3 ov_cnt=0 rl_sts=-1 temp_idx:2, vbatt_idx:2  fv_uv=4450000 cc_max=0 update_interval=-1
[ 1505.808452][ T9310] google,charger google,charger: chg_psy_changed name=usb evt=0
[ 1505.811086][  T469] max77759-charger i2c-max77759chrg: max77759_mode_callback:PSP_ENABLED full=1 raw=0 stby_on=0, dc_on=0, chgr_on=1, buck_on=1, boost_on=0, otg_on=0, uno_on=0 wlc_tx=0 wlc_rx=0 usb_wlc=0 chgin_off=0 wlcin_off=0 frs_on=0 pogo_vout=0 pogo_vin=0
[ 1505.814828][  T469] max77759-charger i2c-max77759chrg: max77759_mode_callback:TCPCI use_case=1->1 CHG_CNFG_00=4->4
[ 1505.816445][  T469] max77759-charger i2c-max77759chrg: max77759_mode_callback:PSP_ENABLED full=1 raw=0 stby_on=0, dc_on=0, chgr_on=1, buck_on=1, boost_on=0, otg_on=0, uno_on=0 wlc_tx=0 wlc_rx=0 usb_wlc=0 chgin_off=0 wlcin_off=0 frs_on=0 pogo_vout=0 pogo_vin=0
[ 1505.820064][  T469] max77759-charger i2c-max77759chrg: max77759_mode_callback:TCPCI use_case=1->1 CHG_CNFG_00=4->4
[ 1505.820347][  T469] logbuffer_usbpd: [  158] set input max current 500000 to gcpm, ret=0
[ 1505.820970][ T9310] google,charger google,charger: chg_psy_changed name=usb evt=0
[ 1505.821026][T10182] google_charger: usbchg=USB typec=C usbv=5100 usbc=0 usbMv=5000 usbMc=500
[ 1505.825104][T10182] google_battery: MSC_DIN chg_state=1f4113101030001 f=0x1 chg_s=Not Charging chg_t=N/A vchg=4401 icl=500
[ 1505.827881][T10182] google_battery: MSC_VOTE msc_state=2 cv_cnt=3 ov_cnt=0 rl_sts=-1 temp_idx:2, vbatt_idx:2  fv_uv=4450000 cc_max=0 update_interval=-1
[ 1505.830334][T10182] google_charger: usbchg=USB typec=C usbv=5100 usbc=0 usbMv=5000 usbMc=500
[ 1505.833571][T10182] google_battery: MSC_DIN chg_state=1f4113101030001 f=0x1 chg_s=Not Charging chg_t=N/A vchg=4401 icl=500
[ 1505.834691][T10182] google_battery: MSC_VOTE msc_state=2 cv_cnt=3 ov_cnt=0 rl_sts=-1 temp_idx:2, vbatt_idx:2  fv_uv=4450000 cc_max=0 update_interval=-1
[ 1506.848800][  T247] s2mpg10_irq_thread: interrupt source(0x01)
[ 1506.849097][  T247] s2mpg10_irq_thread: pmic interrupt(0x00, 0x0c, 0x00, 0x00, 0x00, 0x00)
[ 1506.849301][  T247] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_alarm_irq:irq(217)
[ 1506.851365][ T7380] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 01:19:54(0x10)AM
-> APC watchdog happens at this point, resetting the board




2/ SYNC suspend
tudor: Suspending to RAM for 1 second...
[ 7914.754147][T29332] libprocessgroup: Failed to apply CameraServicePerformance process profile
[ 7914.754308][T29332] init: failed to set task profiles
[ 7914.754439][    T1] init: ... started service 'vendor.camera-provider-2-7-google' has pid 29332
[ 7914.762844][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:41(0x10)AM
[ 7914.764582][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:41(0x10)AM
[ 7914.766011][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:41(0x10)AM
[ 7914.766147][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_set_alarm: 2025-07-10 03:32:43(0x10)AM
[ 7914.787093][T29333] PM: suspend entry (deep)
[ 7914.790500][T29333] Filesystems sync: 0.003 seconds
[ 7914.790672][T29333] [03:32:41.856777][dhd][wlan]dhd_pm_callback action: 3
[ 7914.795614][T29333] PM: suspend entry 2025-07-10 03:32:41.861721024 UTC
[ 7914.795871][T29333] cpif: s5100_pm_notifier: Suspend prepare
[ 7914.795979][T29333] s3c2410-wdt 10070000.watchdog_cl1: Watchdog cluster 1 keepalive!, old_wtcnt = fba0, wtcnt = ffaf
[ 7914.796230][T29333] Freezing user space processes
^C[ 7914.807063][T29333] Freezing user space processes completed (elapsed 0.010 seconds)
[ 7914.807209][T29333] OOM killer disabled.
[ 7914.807280][T29333] Freezing remaining freezable tasks
[ 7914.812317][T29333] Freezing remaining freezable tasks completed (elapsed 0.004 seconds)
[ 7914.815074][T29333] exynos-pcie-rc 11920000.pcie: remove enable cnt to fake enable = 0
[ 7914.818162][T29333] platform dbgdev-pd-bus2: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.818325][T29333] platform dbgdev-pd-bus2: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.818473][T29333] platform dbgdev-pd-bus1: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.818630][T29333] platform dbgdev-pd-bus1: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.818777][T29333] platform dbgdev-pd-aoc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.819060][T29333] platform dbgdev-pd-aoc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.819368][T29333] platform dbgdev-pd-hsi2: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.819722][T29333] platform dbgdev-pd-hsi2: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.820084][T29333] s51xx 0000:01:00.0: PM: calling pci_pm_suspend @ 29333, parent: 0000:00:00.0
[ 7914.820404][T29333] s51xx 0000:01:00.0: PM: pci_pm_suspend returned 0 after 2 usecs
[ 7914.820691][T29333] sound pcmC0D32c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.820981][T29333] sound pcmC0D32c: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.821263][T29333] sound pcmC0D31p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.821584][T29333] sound pcmC0D31p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.821868][T29333] sound pcmC0D30p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.822169][T29333] sound pcmC0D30p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.822453][T29333] sound pcmC0D29p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.822754][T29333] sound pcmC0D29p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.823039][T29333] sound pcmC0D28p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.823339][T29333] sound pcmC0D28p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.823623][T29333] sound pcmC0D27c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.823926][T29333] sound pcmC0D27c: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.824209][T29333] sound pcmC0D26c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.824510][T29333] sound pcmC0D26c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.824774][T29333] sound pcmC0D25p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.825097][T29333] sound pcmC0D25p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.825380][T29333] sound pcmC0D24p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.825681][T29333] sound pcmC0D24p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.825966][T29333] sound pcmC0D23p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.826255][T29333] sound pcmC0D23p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.826551][T29333] sound pcmC0D22c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.826852][T29333] sound pcmC0D22c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.827114][T29333] sound pcmC0D21c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.827437][T29333] sound pcmC0D21c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.827722][T29333] sound pcmC0D20c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.828022][T29333] sound pcmC0D20c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.828287][T29333] sound pcmC0D19p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.828591][T29333] sound pcmC0D19p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.828873][T29333] sound pcmC0D18p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.829172][T29333] sound pcmC0D18p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.829478][T29333] sound pcmC0D17c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.829779][T29333] sound pcmC0D17c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.830063][T29333] sound pcmC0D16p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.830364][T29333] sound pcmC0D16p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.830649][T29333] sound pcmC0D15c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.830949][T29333] sound pcmC0D15c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.831234][T29333] sound pcmC0D14p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.831535][T29333] sound pcmC0D14p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.831819][T29333] sound pcmC0D13c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.832120][T29333] sound pcmC0D13c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.832404][T29333] sound pcmC0D12c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.832690][T29333] sound pcmC0D12c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.832967][T29333] sound pcmC0D11c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.833269][T29333] sound pcmC0D11c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.833552][T29333] sound pcmC0D10c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.833854][T29333] sound pcmC0D10c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.834141][T29333] sound pcmC0D9c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.834459][T29333] sound pcmC0D9c: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.834739][T29333] sound pcmC0D8c: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.835037][T29333] sound pcmC0D8c: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.835318][T29333] sound pcmC0D7p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.835616][T29333] sound pcmC0D7p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.835897][T29333] sound pcmC0D5p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.836195][T29333] sound pcmC0D5p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.836475][T29333] sound pcmC0D4p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.836751][T29333] sound pcmC0D4p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.837035][T29333] sound pcmC0D3p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.837352][T29333] sound pcmC0D3p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.837633][T29333] sound pcmC0D2p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.837930][T29333] sound pcmC0D2p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.838212][T29333] sound pcmC0D1p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.838510][T29333] sound pcmC0D1p: PM: do_pcm_suspend returned 0 after 2 usecs
[ 7914.838790][T29333] sound pcmC0D0p: PM: calling do_pcm_suspend @ 29333, parent: card0
[ 7914.839067][T29333] sound pcmC0D0p: PM: do_pcm_suspend returned 0 after 1 usecs
[ 7914.839558][T29333] google-aoc-snd-card sound-aoc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.839725][T29333] google-aoc-snd-card sound-aoc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.840262][T29333] aoc_uwb_pdrv aoc_gpiochip: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.840432][T29333] aoc_uwb_pdrv aoc_gpiochip: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.840863][T29333] input input3: PM: calling input_dev_suspend @ 29333, parent: spi11.0
[ 7914.841073][T29333] input input3: PM: input_dev_suspend returned 0 after 2 usecs
[ 7914.841360][T29333] fts spi11.0: PM: calling fts_pm_suspend [ftm5] @ 29333, parent: spi11
[ 7914.841690][T29333] fts spi11.0: PM: fts_pm_suspend [ftm5] returned 0 after 2 usecs
[ 7914.841996][T29333] rfkill rfkill2: PM: calling rfkill_suspend [rfkill] @ 29333, parent: none
[ 7914.842310][T29333] rfkill rfkill2: PM: rfkill_suspend [rfkill] returned 0 after 3 usecs
[ 7914.842617][T29333] rfkill rfkill1: PM: calling rfkill_suspend [rfkill] @ 29333, parent: phy0
[ 7914.842944][T29333] rfkill rfkill1: PM: rfkill_suspend [rfkill] returned 0 after 2 usecs
[ 7914.843254][T29333] ieee80211 phy0: PM: calling wiphy_suspend [cfg80211] @ 29333, parent: none
[ 7914.843585][T29333] ieee80211 phy0: PM: wiphy_suspend [cfg80211] returned 0 after 5 usecs
[ 7914.843901][T29333] pcieh 0001:01:00.0: PM: calling pci_pm_suspend @ 29333, parent: 0001:00:00.0
[ 7914.857296][T29333] [03:32:41.923402][dhd][wlan]dhd_plat_l1ss_ctrl: Control L1ss RC side 0 ret:0
[ 7914.868771][T29333] pcieh 0001:01:00.0: PM: pci_pm_suspend returned 0 after 24542 usecs
[ 7914.868913][T29333] sscoredump wlan: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.869059][T29333] sscoredump wlan: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.869205][T29333] leds vibrator: PM: calling led_suspend @ 29333, parent: i2c-c240l2x
[ 7914.869344][T29333] leds vibrator: PM: led_suspend returned 0 after 1 usecs
[ 7914.869471][T29333] backlight panel0-backlight: PM: calling backlight_suspend @ 29333, parent: 1c2c0000.drmdsim.0
[ 7914.869851][T29333] backlight panel0-backlight: PM: backlight_suspend returned 0 after 2 usecs
[ 7914.870181][T29333] panel-samsung-s6e3fc3 1c2c0000.drmdsim.0: PM: calling pm_generic_suspend @ 29333, parent: 1c2c0000.drmdsim
[ 7914.870614][T29333] panel-samsung-s6e3fc3 1c2c0000.drmdsim.0: PM: pm_generic_suspend returned 0 after 1 usecs
[ 7914.870998][T29333] exynos-dsim 1c2c0000.drmdsim: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.871366][T29333] exynos-dsim 1c2c0000.drmdsim: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.871716][T29333] rfkill rfkill0: PM: calling rfkill_suspend [rfkill] @ 29333, parent: odm:btbcm
[ 7914.872052][T29333] rfkill rfkill0: PM: rfkill_suspend [rfkill] returned 0 after 2 usecs
[ 7914.872365][T29333] cs40l2x-codec cs40l2x-codec.4.auto: PM: calling platform_pm_suspend @ 29333, parent: i2c-c240l2x
[ 7914.872772][T29333] cs40l2x-codec cs40l2x-codec.4.auto: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.873107][T29333] cs40l2x i2c-c240l2x: PM: calling cs40l2x_sys_suspend [haptics_cs40l2x] @ 29333, parent: i2c-8
[ 7914.873520][T29333] cs40l2x i2c-c240l2x: PM: cs40l2x_sys_suspend [haptics_cs40l2x] returned 0 after 4 usecs
[ 7914.873914][T29333] lwis-i2c ois@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.874217][T29333] lwis-i2c ois@0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.874521][T29333] lwis-i2c actuator@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.874854][T29333] lwis-i2c actuator@0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.875175][T29333] lwis-i2c eeprom@2: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.875503][T29333] lwis-i2c eeprom@2: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.875817][T29333] lwis-i2c eeprom@1: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.876145][T29333] lwis-i2c eeprom@1: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.876459][T29333] lwis-i2c eeprom@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.876776][T29333] lwis-i2c eeprom@0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.877105][T29333] lwis-ioreg 1a440000.lwis_csi: PM: calling lwis_ioreg_device_suspend [lwis] @ 29333, parent: platform
[ 7914.877487][T29333] lwis-ioreg 1a440000.lwis_csi: PM: lwis_ioreg_device_suspend [lwis] returned 0 after 1 usecs
[ 7914.877915][T29333] input input2: PM: calling input_dev_suspend @ 29333, parent: none
[ 7914.878195][T29333] input input2: PM: input_dev_suspend returned 0 after 2 usecs
[ 7914.878477][T29333] stmvl53l1 1-0029: PM: calling stmvl53l1_suspend [stmvl53l1] @ 29333, parent: i2c-1
[ 7914.878812][T29333] stmvl53l1 1-0029: PM: stmvl53l1_suspend [stmvl53l1] returned 0 after 2 usecs
[ 7914.879173][T29333] platform sensor@2: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.879504][T29333] platform sensor@2: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.879792][T29333] platform sensor@1: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.880146][T29333] platform sensor@1: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.880434][T29333] platform sensor@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.880778][T29333] platform sensor@0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.881098][T29333] platform slg51000_gpio: PM: calling platform_pm_suspend @ 29333, parent: 7-0075
[ 7914.881440][T29333] platform slg51000_gpio: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.881764][T29333] regulator regulator.79: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.882103][T29333] regulator regulator.79: PM: regulator_suspend returned 0 after 3 usecs
[ 7914.882419][T29333] regulator regulator.78: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.882758][T29333] regulator regulator.78: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.883075][T29333] regulator regulator.77: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.883413][T29333] regulator regulator.77: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.883730][T29333] regulator regulator.76: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.884068][T29333] regulator regulator.76: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.884384][T29333] regulator regulator.75: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.884706][T29333] regulator regulator.75: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.885041][T29333] regulator regulator.74: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.885378][T29333] regulator regulator.74: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.885696][T29333] regulator regulator.73: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.886034][T29333] regulator regulator.73: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.886351][T29333] regulator regulator.72: PM: calling regulator_suspend @ 29333, parent: 7-0075
[ 7914.886689][T29333] regulator regulator.72: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.887006][T29333] slg51000-regulator slg51000-regulator: PM: calling platform_pm_suspend @ 29333, parent: 7-0075
[ 7914.887400][T29333] slg51000-regulator slg51000-regulator: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.887775][T29333] platform regulatory.0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.888122][T29333] platform regulatory.0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.888467][T29333] google,usbc_port_cooling_dev google,usbc_port_cooling_dev: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.888893][T29333] google,usbc_port_cooling_dev google,usbc_port_cooling_dev: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.889340][T29333] dwc3 11110000.dwc3: PM: calling platform_pm_suspend @ 29333, parent: 11110000.usb
[ 7914.891773][T29333] phy_exynos_usbdrd 11100000.phy: Request to power_off usbdrd_phy phy
[ 7914.891911][T29333] phy_exynos_usbdrd 11100000.phy: Request to power_off usbdrd_phy phy
[ 7914.892089][T29321] google,charger google,charger: chg_psy_changed name=usb evt=0
[ 7914.892307][T29333] dwc3 11110000.dwc3: PM: platform_pm_suspend returned 0 after 2607 usecs
[ 7914.892483][T29333] platform usb_phy_generic.3.auto: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.892698][T29333] platform usb_phy_generic.3.auto: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.892910][T29333] platform usb_phy_generic.2.auto: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.893335][T29333] platform usb_phy_generic.2.auto: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.893667][T29333] exynos-dwc3 11110000.usb: PM: calling dwc3_exynos_suspend [dwc3_exynos_usb] @ 29333, parent: platform
[ 7914.894110][T29333] exynos-dwc3 11110000.usb: PM: dwc3_exynos_suspend [dwc3_exynos_usb] returned 0 after 7 usecs
[ 7914.894492][T29333] google_cpm google,cpm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.894885][T29333] google_cpm google,cpm: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.895121][T29333] google,charger google,charger: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.895492][T29333] google,charger google,charger: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.895894][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.896352][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.896876][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.897387][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.897870][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.898362][T29299] google_charger: failed to get POWER_SUPPLY_PROP_CURRENT_NOW from 'usb', ret=-11
[ 7914.898699][T29299] google_charger: usbchg=USB typec=C usbv=5175 usbc=0 usbMv=5000 usbMc=100
[ 7914.899024][T29299] failed to get psp=181 from 'gcpm', ret=-22
[ 7914.899244][T29299] failed to get GBMS_PROP_CHARGE_CHARGER_STATE from 'gcpm', ret=-22
[ 7914.899544][T29299] failed to get psp=13 from 'gcpm', ret=-22
[ 7914.899763][T29299] failed to get POWER_SUPPLY_PROP_VOLTAGE_NOW from 'gcpm', ret=-22
[ 7914.900060][T29299] failed to get psp=1 from 'gcpm', ret=-11
[ 7914.900275][T29299] failed to get POWER_SUPPLY_PROP_CHARGE_TYPE from 'gcpm', ret=-11
[ 7914.900577][T29299] failed to get psp=0 from 'gcpm', ret=-11
[ 7914.900787][T29299] failed to get POWER_SUPPLY_PROP_STATUS from 'gcpm', ret=-11
[ 7914.901067][T29299] MSC_CHG error vchrg=-22 chg_type=-11 chg_status=-11
[ 7914.901322][T29299] google_charger: MSC_CHG error rerun=1 in 1000 ms (-22)
[ 7914.901588][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.902074][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.902586][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.903075][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.903586][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.904076][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.904591][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.905059][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.905588][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.906078][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.906590][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.907059][T29333] pixel-em pixel-em: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.907411][T29333] pixel-em pixel-em: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.907715][T29333] pcieport 0001:00:00.0: PM: calling pci_pm_suspend @ 29333, parent: pci0001:00
[ 7914.908048][T29333] pcieport 0001:00:00.0: PM: pci_pm_suspend returned 0 after 11 usecs
[ 7914.908767][T29333] exynos-pcie-rc 14520000.pcie: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.908932][T29333] exynos-pcie-rc 14520000.pcie: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.909101][T29333] pcieport 0000:00:00.0: PM: calling pci_pm_suspend @ 29333, parent: pci0000:00
[ 7914.909437][T29333] pcieport 0000:00:00.0: PM: pci_pm_suspend returned 0 after 21 usecs
[ 7914.909774][T29333] sscoredump bigocean: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.910066][T29333] sscoredump bigocean: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.910399][T29333] sscoredump aoc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.910685][T29333] sscoredump aoc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.911013][T29333] aoc 19000000.aoc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.911353][T29333] aoc 19000000.aoc: PM: platform_pm_suspend returned 0 after 21 usecs
[ 7914.911656][T29333] audiometrics audiometrics: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.912001][T29333] audiometrics audiometrics: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.912384][T29333] mali 1c500000.mali: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.912680][T29333] mali 1c500000.mali: PM: platform_pm_suspend returned 0 after 15 usecs
[ 7914.913068][T29333] exynos-drm exynos-drm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.913335][T29333] exynos-drm exynos-drm: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.913656][T29333] tui-driver tui-driver: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.914003][T29333] tui-driver tui-driver: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.914330][T29333] arm-memlat-mon cpu7-cpugrp:cpu7-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu7-cpugrp
[ 7914.914765][T29333] arm-memlat-mon cpu7-cpugrp:cpu7-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.915169][T29333] arm-memlat-mon cpu6-cpugrp:cpu6-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu6-cpugrp
[ 7914.915610][T29333] arm-memlat-mon cpu6-cpugrp:cpu6-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.916014][T29333] arm-memlat-mon cpu5-cpugrp:cpu5-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu5-cpugrp
[ 7914.916454][T29333] arm-memlat-mon cpu5-cpugrp:cpu5-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.916842][T29333] arm-memlat-mon cpu4-cpugrp:cpu4-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu4-cpugrp
[ 7914.917299][T29333] arm-memlat-mon cpu4-cpugrp:cpu4-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.917703][T29333] arm-memlat-mon cpu3-cpugrp:cpu3-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu3-cpugrp
[ 7914.918144][T29333] arm-memlat-mon cpu3-cpugrp:cpu3-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.918548][T29333] arm-memlat-mon cpu2-cpugrp:cpu2-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu2-cpugrp
[ 7914.918989][T29333] arm-memlat-mon cpu2-cpugrp:cpu2-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.919393][T29333] arm-memlat-mon cpu1-cpugrp:cpu1-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu1-cpugrp
[ 7914.919833][T29333] arm-memlat-mon cpu1-cpugrp:cpu1-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.920238][T29333] arm-memlat-mon cpu0-cpugrp:cpu0-cpu-mif-latmon: PM: calling platform_pm_suspend @ 29333, parent: cpu0-cpugrp
[ 7914.920680][T29333] arm-memlat-mon cpu0-cpugrp:cpu0-cpu-mif-latmon: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.921114][T29333] sscoredump mfc-core: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.921423][T29333] sscoredump mfc-core: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.921737][T29333] mfc-core 1c8d0000.MFC-0: PM: calling platform_pm_suspend @ 29333, parent: mfc
[ 7914.922076][T29333] mfc-core 1c8d0000.MFC-0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7914.922421][T29333] gs101-spmic-thermal gs101-spmic-thermal: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg11
[ 7914.922820][T29333] gs101-spmic-thermal gs101-spmic-thermal: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.923221][T29333] s2mpg1x_gpio s2mpg11_gpio: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg11
[ 7914.923572][T29333] s2mpg1x_gpio s2mpg11_gpio: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.923910][T29333] odpm s2mpg11-odpm: PM: calling platform_pm_suspend @ 29333, parent: s2mpg11-meter
[ 7914.925427][T29333] odpm s2mpg11-odpm: PM: platform_pm_suspend returned 0 after 1171 usecs
[ 7914.925570][T29333] s2mpg11-meter s2mpg11-meter: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg11
[ 7914.925737][T29333] s2mpg11-meter s2mpg11-meter: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.925891][T29333] regulator regulator.71: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.926057][T29333] regulator regulator.71: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.926333][T29333] regulator regulator.70: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.926709][T29333] regulator regulator.70: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.927025][T29333] regulator regulator.69: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.927400][T29333] regulator regulator.69: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.927717][T29333] regulator regulator.68: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.928092][T29333] regulator regulator.68: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.928408][T29333] regulator regulator.67: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.928784][T29333] regulator regulator.67: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.929101][T29333] regulator regulator.66: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.929475][T29333] regulator regulator.66: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.929793][T29333] regulator regulator.65: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.930167][T29333] regulator regulator.65: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.930484][T29333] regulator regulator.64: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.930859][T29333] regulator regulator.64: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.931177][T29333] regulator regulator.63: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.931551][T29333] regulator regulator.63: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.931868][T29333] regulator regulator.62: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.932224][T29333] regulator regulator.62: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.932560][T29333] regulator regulator.61: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.932915][T29333] regulator regulator.61: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.933253][T29333] regulator regulator.60: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.933626][T29333] regulator regulator.60: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.933943][T29333] regulator regulator.59: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.934318][T29333] regulator regulator.59: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.934635][T29333] regulator regulator.58: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.935009][T29333] regulator regulator.58: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.935327][T29333] regulator regulator.57: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.935702][T29333] regulator regulator.57: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.936019][T29333] regulator regulator.56: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.936393][T29333] regulator regulator.56: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.936715][T29333] regulator regulator.55: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.937066][T29333] regulator regulator.55: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.937402][T29333] regulator regulator.54: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.937777][T29333] regulator regulator.54: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.938094][T29333] regulator regulator.53: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.938469][T29333] regulator regulator.53: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.938786][T29333] regulator regulator.52: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.939160][T29333] regulator regulator.52: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.939477][T29333] regulator regulator.51: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.939852][T29333] regulator regulator.51: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.940169][T29333] regulator regulator.50: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.940547][T29333] regulator regulator.50: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.940840][T29333] regulator regulator.49: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.941236][T29333] regulator regulator.49: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.941553][T29333] regulator regulator.48: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.941927][T29333] regulator regulator.48: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.942245][T29333] regulator regulator.47: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.942619][T29333] regulator regulator.47: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.942918][T29333] regulator regulator.46: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.943312][T29333] regulator regulator.46: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.943628][T29333] regulator regulator.45: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.943984][T29333] regulator regulator.45: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.944299][T29333] regulator regulator.44: PM: calling regulator_suspend @ 29333, parent: s2mpg11-regulator
[ 7914.944675][T29333] regulator regulator.44: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.945008][T29333] s2mpg11-regulator s2mpg11-regulator: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg11
[ 7914.945473][T29333] s2mpg11-regulator s2mpg11-regulator: PM: platform_pm_suspend returned 0 after 58 usecs
[ 7914.945800][T29333] exynos-pcie-rc 11920000.pcie: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.946158][T29333] exynos-pcie-rc 11920000.pcie: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.946506][T29333] s2mpg11 i2c-s2mpg11: PM: calling s2mpg11_suspend [s2mpg11_mfd] @ 29333, parent: i2c-21
[ 7914.946872][T29333] s2mpg11 i2c-s2mpg11: PM: s2mpg11_suspend [s2mpg11_mfd] returned 0 after 5 usecs
[ 7914.947241][T29333] s2mpg1x_gpio s2mpg10_gpio: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg10
[ 7914.947588][T29333] s2mpg1x_gpio s2mpg10_gpio: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.947926][T29333] odpm s2mpg10-odpm: PM: calling platform_pm_suspend @ 29333, parent: s2mpg10-meter
[ 7914.949667][T29333] odpm s2mpg10-odpm: PM: platform_pm_suspend returned 0 after 1395 usecs
[ 7914.949809][T29333] s2mpg10-meter s2mpg10-meter: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg10
[ 7914.949975][T29333] s2mpg10-meter s2mpg10-meter: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.950128][T29333] alarmtimer alarmtimer.1.auto: PM: calling platform_pm_suspend @ 29333, parent: rtc0
[ 7914.951639][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:41(0x10)AM
[ 7914.953126][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:41(0x10)AM
[ 7914.953268][T29333] alarmtimer alarmtimer.1.auto: PM: platform_pm_suspend returned 0 after 2982 usecs
[ 7914.953427][T29333] rtc rtc0: PM: calling rtc_suspend @ 29333, parent: s2mpg10-rtc
[ 7914.955084][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:41(0x10)AM
[ 7914.955244][T29333] rtc rtc0: PM: rtc_suspend returned 0 after 1685 usecs
[ 7914.955374][T29333] s2mpg10-rtc s2mpg10-rtc: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg10
[ 7914.955540][T29333] s2mpg10-rtc s2mpg10-rtc: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7914.955692][T29333] regulator regulator.43: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.955921][T29333] regulator regulator.43: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.956237][T29333] regulator regulator.42: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.956625][T29333] regulator regulator.42: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.956908][T29333] regulator regulator.41: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.957303][T29333] regulator regulator.41: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.957620][T29333] regulator regulator.40: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.957994][T29333] regulator regulator.40: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.958312][T29333] regulator regulator.39: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.958686][T29333] regulator regulator.39: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.959003][T29333] regulator regulator.38: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.959378][T29333] regulator regulator.38: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.959696][T29333] regulator regulator.37: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.960070][T29333] regulator regulator.37: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.960386][T29333] regulator regulator.36: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.960767][T29333] regulator regulator.36: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.961079][T29333] regulator regulator.35: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.961453][T29333] regulator regulator.35: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.961772][T29333] regulator regulator.34: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.962145][T29333] regulator regulator.34: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.962463][T29333] regulator regulator.33: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.962837][T29333] regulator regulator.33: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.963154][T29333] regulator regulator.32: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.963529][T29333] regulator regulator.32: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.963846][T29333] regulator regulator.31: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.964220][T29333] regulator regulator.31: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.964539][T29333] regulator regulator.30: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.964913][T29333] regulator regulator.30: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.965230][T29333] regulator regulator.29: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.965604][T29333] regulator regulator.29: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.965922][T29333] regulator regulator.28: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.966297][T29333] regulator regulator.28: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.966613][T29333] regulator regulator.27: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.966988][T29333] regulator regulator.27: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.967305][T29333] regulator regulator.26: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.967679][T29333] regulator regulator.26: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.967997][T29333] regulator regulator.25: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.968371][T29333] regulator regulator.25: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.968691][T29333] regulator regulator.24: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.969044][T29333] regulator regulator.24: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.969380][T29333] regulator regulator.23: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.969755][T29333] regulator regulator.23: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.970073][T29333] regulator regulator.22: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.970446][T29333] regulator regulator.22: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.970764][T29333] regulator regulator.21: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.971138][T29333] regulator regulator.21: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.971456][T29333] regulator regulator.20: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.971830][T29333] regulator regulator.20: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.972148][T29333] regulator regulator.19: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.972527][T29333] regulator regulator.19: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.972817][T29333] regulator regulator.18: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.973195][T29333] regulator regulator.18: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.973531][T29333] regulator regulator.17: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.973906][T29333] regulator regulator.17: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.974223][T29333] regulator regulator.16: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.974578][T29333] regulator regulator.16: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.974896][T29333] regulator regulator.15: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.975289][T29333] regulator regulator.15: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.975607][T29333] regulator regulator.14: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.975963][T29333] regulator regulator.14: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.976279][T29333] regulator regulator.13: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.976661][T29333] regulator regulator.13: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.976972][T29333] regulator regulator.12: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.977365][T29333] regulator regulator.12: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.977682][T29333] regulator regulator.11: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.978057][T29333] regulator regulator.11: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.978374][T29333] regulator regulator.10: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.978748][T29333] regulator regulator.10: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.979066][T29333] regulator regulator.9: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.979437][T29333] regulator regulator.9: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.979751][T29333] regulator regulator.8: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.980122][T29333] regulator regulator.8: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.980436][T29333] regulator regulator.7: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.980809][T29333] regulator regulator.7: PM: regulator_suspend returned 0 after 2 usecs
[ 7914.981102][T29333] regulator regulator.6: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.981492][T29333] regulator regulator.6: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.981806][T29333] regulator regulator.5: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.982177][T29333] regulator regulator.5: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.982491][T29333] regulator regulator.4: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.982862][T29333] regulator regulator.4: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.983176][T29333] regulator regulator.3: PM: calling regulator_suspend @ 29333, parent: s2mpg10-regulator
[ 7914.983548][T29333] regulator regulator.3: PM: regulator_suspend returned 0 after 1 usecs
[ 7914.983883][T29333] s2mpg10-regulator s2mpg10-regulator: PM: calling platform_pm_suspend @ 29333, parent: i2c-s2mpg10
[ 7914.984322][T29333] s2mpg10-regulator s2mpg10-regulator: PM: platform_pm_suspend returned 0 after 57 usecs
[ 7914.984655][T29333] s2mpg10 i2c-s2mpg10: PM: calling s2mpg10_suspend [s2mpg10_mfd] @ 29333, parent: i2c-20
[ 7914.984991][T29333] s2mpg10 i2c-s2mpg10: PM: s2mpg10_suspend [s2mpg10_mfd] returned 0 after 7 usecs
[ 7914.985364][T29333] pca9468 12-0057: PM: calling pca9468_suspend [pca9468] @ 29333, parent: i2c-12
[ 7914.985694][T29333] pca9468 12-0057: PM: pca9468_suspend [pca9468] returned 0 after 2 usecs
[ 7914.986015][T29333] google_mitigation google,mitigation: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7914.986408][T29333] google_mitigation google,mitigation: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7914.986808][T29333] at24 8-0050: PM: calling pm_runtime_force_suspend @ 29333, parent: i2c-8
[ 7914.987097][T29333] at24 8-0050: PM: pm_runtime_force_suspend returned 0 after 2 usecs
[ 7914.987411][T29333] st21nfc i2c-st21nfc: PM: calling st21nfc_suspend [st21nfc] @ 29333, parent: i2c-7
[ 7914.987753][T29333] st21nfc i2c-st21nfc: PM: st21nfc_suspend [st21nfc] returned 0 after 3 usecs
[ 7914.988122][T29333] input input1: PM: calling input_dev_suspend @ 29333, parent: none
[ 7914.988384][T29333] input input1: PM: input_dev_suspend returned 0 after 2 usecs
[ 7914.988853][T29333] sd 0:0:0:3: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7914.998754][T29333] sd 0:0:0:3: PM: scsi_bus_suspend returned 0 after 9757 usecs
[ 7914.998920][T29333] sd 0:0:0:2: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7915.027312][T29333] sd 0:0:0:2: PM: scsi_bus_suspend returned 0 after 28247 usecs
[ 7915.027481][T29333] sd 0:0:0:1: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7915.042956][T29333] sd 0:0:0:1: PM: scsi_bus_suspend returned 0 after 15331 usecs
[ 7915.043119][T29333] sd 0:0:0:0: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7915.054275][T29333] sd 0:0:0:0: PM: scsi_bus_suspend returned 0 after 11010 usecs
[ 7915.054442][T29333] scsi 0:0:0:49456: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7915.054656][T29333] scsi 0:0:0:49456: PM: scsi_bus_suspend returned 0 after 64 usecs
[ 7915.054803][T29333] scsi 0:0:0:49476: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7915.055013][T29333] scsi 0:0:0:49476: PM: scsi_bus_suspend returned 0 after 63 usecs
[ 7915.055162][T29333] ufs_device_wlun 0:0:0:49488: PM: calling scsi_bus_suspend @ 29333, parent: target0:0:0
[ 7915.096937][T29333] ufs_device_wlun 0:0:0:49488: PM: scsi_bus_suspend returned 0 after 41559 usecs
[ 7915.097115][T29333] scsi target0:0:0: PM: calling scsi_bus_suspend @ 29333, parent: host0
[ 7915.097264][T29333] scsi target0:0:0: PM: scsi_bus_suspend returned 0 after 4 usecs
[ 7915.097411][T29333] scsi host0: PM: calling scsi_bus_suspend @ 29333, parent: 14700000.ufs
[ 7915.097559][T29333] scsi host0: PM: scsi_bus_suspend returned 0 after 2 usecs
[ 7915.097691][T29333] exynos-ufs 14700000.ufs: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.100201][T29333] exynos-ufs 14700000.ufs: PM: platform_pm_suspend returned 0 after 2181 usecs
[ 7915.100444][T29333] edgetpu_platform 1ce00000.abrolhos: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.100636][T29333] edgetpu_platform 1ce00000.abrolhos: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.100811][T29333] lwis-ioreg 1a4e0000.lwis_votf: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.100981][T29333] lwis-ioreg 1a4e0000.lwis_votf: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.101220][T29333] lwis-ioreg 1bc40000.lwis_gtnr_merge: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.101576][T29333] lwis-ioreg 1bc40000.lwis_gtnr_merge: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.101995][T29333] s5p-mfc mfc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.102276][T29333] s5p-mfc mfc: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.102573][T29333] lwis-ioreg 1b760000.lwis_mcsc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.102938][T29333] lwis-ioreg 1b760000.lwis_mcsc: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.103298][T29333] lwis-ioreg 1b450000.lwis_itp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.103656][T29333] lwis-ioreg 1b450000.lwis_itp: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.104008][T29333] lwis-ioreg 1ac80000.lwis_gtnr_align: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.104394][T29333] lwis-ioreg 1ac80000.lwis_gtnr_align: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.104766][T29333] lwis-ioreg 1ac40000.lwis_ipp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.105114][T29333] lwis-ioreg 1ac40000.lwis_ipp: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.105478][T29333] lwis-ioreg 1aa40000.lwis_pdp: PM: calling lwis_ioreg_device_suspend [lwis] @ 29333, parent: platform
[ 7915.105891][T29333] lwis-ioreg 1aa40000.lwis_pdp: PM: lwis_ioreg_device_suspend [lwis] returned 0 after 2 usecs
[ 7915.106287][T29333] lwis-ioreg 1ba80000.lwis_scsc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.106652][T29333] lwis-ioreg 1ba80000.lwis_scsc: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.107008][T29333] lwis-ioreg 1ba60000.lwis_gdc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.107371][T29333] lwis-ioreg 1ba60000.lwis_gdc: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.107723][T29333] lwis-ioreg 1ba40000.lwis_gdc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.108087][T29333] lwis-ioreg 1ba40000.lwis_gdc: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.108437][T29333] lwis-ioreg 1a840000.lwis_g3aa: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.108819][T29333] lwis-ioreg 1a840000.lwis_g3aa: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.109140][T29333] exynos-jpeg 1c700000.smfc: PM: calling smfc_suspend [smfc] @ 29333, parent: platform
[ 7915.109514][T29333] exynos-jpeg 1c700000.smfc: PM: smfc_suspend [smfc] returned 0 after 3 usecs
[ 7915.109855][T29333] exynos-g2d 1c640000.g2d: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.110201][T29333] exynos-g2d 1c640000.g2d: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.110542][T29333] exynos-decon 1c302000.drmdecon: PM: calling decon_suspend [exynos_drm] @ 29333, parent: platform
[ 7915.110941][T29333] exynos-decon 1c302000.drmdecon: PM: decon_suspend [exynos_drm] returned 0 after 13 usecs
[ 7915.111313][T29333] exynos-decon 1c300000.drmdecon: PM: calling decon_suspend [exynos_drm] @ 29333, parent: platform
[ 7915.112056][T29333] exynos-decon 1c300000.drmdecon: PM: decon_suspend [exynos_drm] returned 0 after 348 usecs
[ 7915.112328][T29333] exyswd_rng exyswd_rng: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.112507][T29333] exyswd_rng exyswd_rng: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.112745][T29333] port 10a00000.uart:0.0: PM: calling pm_runtime_force_suspend @ 29333, parent: 10a00000.uart:0
[ 7915.113154][T29333] port 10a00000.uart:0.0: PM: pm_runtime_force_suspend returned 0 after 7 usecs
[ 7915.113508][T29333] port 175b0000.serial:0.0: PM: calling pm_runtime_force_suspend @ 29333, parent: 175b0000.serial:0
[ 7915.113894][T29333] port 175b0000.serial:0.0: PM: pm_runtime_force_suspend returned 0 after 3 usecs
[ 7915.114822][T29333] gs101-devfreq 17000080.devfreq_bo: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.114998][T29333] gs101-devfreq 17000080.devfreq_bo: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.115173][T29333] gs101-devfreq 17000070.devfreq_mfc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.115361][T29333] gs101-devfreq 17000070.devfreq_mfc: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.115732][T29333] gs101-devfreq 17000060.devfreq_tnr: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.116136][T29333] gs101-devfreq 17000060.devfreq_tnr: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.116597][T29333] gs101-devfreq 17000050.devfreq_cam: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.116869][T29333] gs101-devfreq 17000050.devfreq_cam: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.117267][T29333] gs101-devfreq 17000040.devfreq_disp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.117648][T29333] gs101-devfreq 17000040.devfreq_disp: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.118027][T29333] gs101-devfreq 17000030.devfreq_intcam: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.118416][T29333] gs101-devfreq 17000030.devfreq_intcam: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.118784][T29333] gs101-devfreq 17000020.devfreq_int: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.119181][T29333] gs101-devfreq 17000020.devfreq_int: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.119557][T29333] gs101-devfreq 17000010.devfreq_mif: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.119936][T29333] gs101-devfreq 17000010.devfreq_mif: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.120329][T29333] keycombo keycombo.0.auto: PM: calling platform_pm_suspend @ 29333, parent: keydebug
[ 7915.120647][T29333] keycombo keycombo.0.auto: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.120972][T29333] platform cs_trex3: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.121310][T29333] platform cs_trex3: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.121617][T29333] platform cs_trex2: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.121938][T29333] platform cs_trex2: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.122246][T29333] platform cs_trex1: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.122545][T29333] platform cs_trex1: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.122855][T29333] platform cs_trex0: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.123195][T29333] platform cs_trex0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.123503][T29333] platform cs_funnel2: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.123831][T29333] platform cs_funnel2: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.124145][T29333] platform cs_funnel1: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.124473][T29333] platform cs_funnel1: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.124787][T29333] platform cs_funnel0: PM: calling platform_pm_suspend @ 29333, parent: none
[ 7915.125115][T29333] platform cs_funnel0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.125429][T29333] sscoredump debugcore: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.125773][T29333] sscoredump debugcore: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.126093][T29333] gsa-gsc 17c90000.gsa-ns:gsa_gsc@0: PM: calling platform_pm_suspend @ 29333, parent: 17c90000.gsa-ns
[ 7915.126502][T29333] gsa-gsc 17c90000.gsa-ns:gsa_gsc@0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.126864][T29333] debug-kinfo debug-kinfo: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.127216][T29333] debug-kinfo debug-kinfo: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.127545][T29333] samsung,dma-heap-carveout trusty:mfc_fw_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.127975][T29333] samsung,dma-heap-carveout trusty:mfc_fw_dma_heap: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.128386][T29333] samsung,dma-heap-carveout trusty:tui_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.128811][T29333] samsung,dma-heap-carveout trusty:tui_dma_heap: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.129208][T29333] samsung,dma-heap-chunk trusty:video_scaler_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.129648][T29333] samsung,dma-heap-chunk trusty:video_scaler_dma_heap: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.130069][T29333] samsung,dma-heap-chunk trusty:video_frame_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.130506][T29333] samsung,dma-heap-chunk trusty:video_frame_dma_heap: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.130923][T29333] samsung,dma-heap-chunk trusty:video_stream_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.131364][T29333] samsung,dma-heap-chunk trusty:video_stream_dma_heap: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.131787][T29333] trusty-virtio trusty:virtio: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.132146][T29333] trusty-virtio trusty:virtio: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.132495][T29333] trusty-log trusty:log: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.132805][T29333] trusty-log trusty:log: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.133137][T29333] trusty-irq trusty:irq: PM: calling platform_pm_suspend @ 29333, parent: trusty
[ 7915.133471][T29333] trusty-irq trusty:irq: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.133812][T29333] s3c64xx-spi 10d60000.spi: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.134172][T29333] s3c64xx-spi 10d60000.spi: PM: platform_pm_suspend returned 0 after 6 usecs
[ 7915.134513][T29333] s3c64xx-spi 10d40000.spi: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.134840][T29333] s3c64xx-spi 10d40000.spi: PM: platform_pm_suspend returned 0 after 5 usecs
[ 7915.135203][T29333] s3c64xx-spi 10d20000.spi: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.135547][T29333] s3c64xx-spi 10d20000.spi: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.135889][T29333] s3c64xx-spi 10a20000.spi: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.136236][T29333] s3c64xx-spi 10a20000.spi: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.136566][T29333] s3c64xx-spi 10950000.spi: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.136924][T29333] s3c64xx-spi 10950000.spi: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.137255][T29333] brcm gps spi spi5.0: PM: calling bcm_spi_suspend [bcm47765] @ 29333, parent: spi5
[ 7915.137611][T29333] brcm gps spi spi5.0: PM: bcm_spi_suspend [bcm47765] returned 0 after 9 usecs
[ 7915.137952][T29333] s3c64xx-spi 10940000.spi: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.138301][T29333] s3c64xx-spi 10940000.spi: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.138802][T29333] exynos-mct 10050000.mct: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.138966][T29333] exynos-mct 10050000.mct: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.139326][T29333] exynos5-hsi2c 10d50000.hsi2c: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.139683][T29333] exynos5-hsi2c 10d50000.hsi2c: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.140031][T29333] exynos5-hsi2c 10960000.hsi2c: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.140397][T29333] exynos5-hsi2c 10960000.hsi2c: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.140732][T29333] lwis-i2c flash@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.141074][T29333] lwis-i2c flash@0: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.141422][T29333] exynos5-hsi2c 10970000.hsi2c: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.141748][T29333] exynos5-hsi2c 10970000.hsi2c: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.142095][T29333] exynos5-hsi2c 10920000.hsi2c: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.142462][T29333] exynos5-hsi2c 10920000.hsi2c: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.142813][T29333] exynos5-hsi2c 10910000.hsi2c: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.143178][T29333] exynos5-hsi2c 10910000.hsi2c: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.143526][T29333] exynos5-hsi2c 10900000.hsi2c: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.143893][T29333] exynos5-hsi2c 10900000.hsi2c: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.144243][T29333] nitrous_bluetooth odm:btbcm: PM: calling platform_pm_suspend @ 29333, parent: odm
[ 7915.144585][T29333] nitrous_bluetooth odm:btbcm: PM: platform_pm_suspend returned 0 after 14 usecs
[ 7915.144949][T29333] pps-gpio pps: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.145250][T29333] pps-gpio pps: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.145585][T29333] sbb-mux sbb-mux: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.145869][T29333] sbb-mux sbb-mux: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.146205][T29333] regulator regulator.2: PM: calling regulator_suspend @ 29333, parent: fixedregulator@0
[ 7915.146538][T29333] regulator regulator.2: PM: regulator_suspend returned 0 after 3 usecs
[ 7915.146858][T29333] reg-fixed-voltage fixedregulator@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.147242][T29333] reg-fixed-voltage fixedregulator@0: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.147671][T29333] cp_interface cpif: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.147941][T29333] cp_interface cpif: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.148270][T29333] input input0: PM: calling input_dev_suspend @ 29333, parent: gpio_keys
[ 7915.148564][T29333] input input0: PM: input_dev_suspend returned 0 after 3 usecs
[ 7915.148838][T29333] gpio-keys gpio_keys: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.149196][T29333] gpio-keys gpio_keys: PM: platform_pm_suspend returned 0 after 9 usecs
[ 7915.149531][T29333] exynos-uart 175b0000.serial: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.151334][T29333] exynos-uart 175b0000.serial: PM: platform_pm_suspend returned 0 after 1465 usecs
[ 7915.151644][T29333] platform icc-debugfs-client: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.151812][T29333] platform icc-debugfs-client: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.151980][T29333] smccc_trng smccc_trng: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.152138][T29333] smccc_trng smccc_trng: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.152581][T29333] regulator regulator.1: PM: calling regulator_suspend @ 29333, parent: cs35l41_dummy_regulator@0
[ 7915.152758][T29333] regulator regulator.1: PM: regulator_suspend returned 0 after 2 usecs
[ 7915.152944][T29333] touch_bus_negotiator tbn: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.153317][T29333] touch_bus_negotiator tbn: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.153649][T29333] cp_shmem cp_shmem: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.153983][T29333] cp_shmem cp_shmem: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.154291][T29333] google,battery google,battery: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.154667][T29333] google,battery google,battery: PM: platform_pm_suspend returned 0 after 3 usecs
[ 7915.155013][T29333] platform seclog: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.155340][T29333] platform seclog: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.155641][T29333] gs-tmu 100b0000.TPU: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.156031][T29333] gs-tmu 100b0000.TPU: PM: platform_pm_suspend returned 0 after 50 usecs
[ 7915.156300][T29333] gs-tmu 100b0000.ISP: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.157009][T29333] gs-tmu 100b0000.ISP: PM: platform_pm_suspend returned 0 after 358 usecs
[ 7915.157152][T29333] gs-tmu 100b0000.G3D: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.157351][T29333] gs-tmu 100b0000.G3D: PM: platform_pm_suspend returned 0 after 50 usecs
[ 7915.157619][T29333] gs-tmu 100a0000.LITTLE: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.158004][T29333] gs-tmu 100a0000.LITTLE: PM: platform_pm_suspend returned 0 after 35 usecs
[ 7915.158298][T29333] gs-tmu 100a0000.MID: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.158673][T29333] gs-tmu 100a0000.MID: PM: platform_pm_suspend returned 0 after 35 usecs
[ 7915.158956][T29333] gs-tmu 100a0000.BIG: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.160453][T29333] gs_tmu_suspend: TMU suspend
[ 7915.160560][T29333] gs-tmu 100a0000.BIG: PM: platform_pm_suspend returned 0 after 1263 usecs
[ 7915.160705][T29333] s3c2410-wdt 10070000.watchdog_cl1: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.160880][T29333] s3c2410-wdt 10070000.watchdog_cl1: PM: platform_pm_suspend returned 0 after 6 usecs
[ 7915.161040][T29333] s3c2410-wdt 10060000.watchdog_cl0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.161289][T29333] s3c2410-wdt 10060000.watchdog_cl0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.161652][T29333] arm-memlat-mon cpu7-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.162015][T29333] arm-memlat-mon cpu7-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.162353][T29333] arm-memlat-mon cpu6-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.162717][T29333] arm-memlat-mon cpu6-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.163054][T29333] arm-memlat-mon cpu5-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.163419][T29333] arm-memlat-mon cpu5-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.163756][T29333] arm-memlat-mon cpu4-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.164119][T29333] arm-memlat-mon cpu4-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.164458][T29333] arm-memlat-mon cpu3-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.164824][T29333] arm-memlat-mon cpu3-cpugrp: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.165138][T29333] arm-memlat-mon cpu2-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.165524][T29333] arm-memlat-mon cpu2-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.165861][T29333] arm-memlat-mon cpu1-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.166225][T29333] arm-memlat-mon cpu1-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.166563][T29333] arm-memlat-mon cpu0-cpugrp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.166927][T29333] arm-memlat-mon cpu0-cpugrp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.167265][T29333] devfreq-memlat gs_memlat_devfreq: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.167650][T29333] devfreq-memlat gs_memlat_devfreq: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.168007][T29333] exynos-devfreq-root exynos_devfreq: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.168398][T29333] exynos-devfreq-root exynos_devfreq: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.168773][T29333] exynos-dm 17000000.exynos-dm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.169115][T29333] exynos-dm 17000000.exynos-dm: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.169478][T29333] i2c-acpm acpm_mfd_bus@17510000: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.169854][T29333] i2c-acpm acpm_mfd_bus@17510000: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.170205][T29333] i2c-acpm acpm_mfd_bus@17500000: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.170582][T29333] i2c-acpm acpm_mfd_bus@17500000: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.170933][T29333] google,slc-acpm slc-acpm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.171291][T29333] google,slc-acpm slc-acpm: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.171622][T29333] google,slc slc-dummy: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.171966][T29333] google,slc slc-dummy: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.172283][T29333] power_stats acpm_stats: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.172637][T29333] power_stats acpm_stats: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.172937][T29333] gs-acpm-ipc 17610000.acpm_ipc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.173314][T29333] gs-acpm-ipc 17610000.acpm_ipc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.173680][T29333] gs-acpm 17440000.acpm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.174028][T29333] gs-acpm 17440000.acpm: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.174348][T29333] acpm-stress mbox: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.174681][T29333] acpm-stress mbox: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.174984][T29333] acpm_flexpmu_dbg acpm_flexpmu_dbg: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.175372][T29333] acpm_flexpmu_dbg acpm_flexpmu_dbg: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.175714][T29333] exynos-cpuhp exynos-cpuphp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.176097][T29333] exynos-cpuhp exynos-cpuphp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.176476][T29333] eh 17100000.eh: PM: calling eh_suspend [eh] @ 29333, parent: platform
[ 7915.176749][T29333] eh 17100000.eh: PM: eh_suspend [eh] returned 0 after 6 usecs
[ 7915.177009][T29333] exynos-uart 10a00000.uart: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.177686][T29333] exynos-uart 10a00000.uart: PM: platform_pm_suspend returned 0 after 318 usecs
[ 7915.177840][T29333] gs101_clock 1e080000.clock-controller: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.178133][T29333] gs101_clock 1e080000.clock-controller: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.178507][T29333] exynos-cal-if 1e080000.cal_if: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.178881][T29333] exynos-cal-if 1e080000.cal_if: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.179228][T29333] pixel-reboot pixel-reboot: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.179589][T29333] pixel-reboot pixel-reboot: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.179924][T29333] arm_dsu_pmu dsu-pmu-0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.180271][T29333] arm_dsu_pmu dsu-pmu-0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.180597][T29333] platform 17460000.system-controller: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.180967][T29333] platform 17460000.system-controller: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.181354][T29333] exynos-pmu-if 17460000.exynos-pmu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.181741][T29333] exynos-pmu-if 17460000.exynos-pmu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.182102][T29333] exynos-pm 174d0000.exynos-pm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.182473][T29333] exynos-pm 174d0000.exynos-pm: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.182817][T29333] armv8-pmu arm-pmu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.183151][T29333] armv8-pmu arm-pmu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.183459][T29333] simple-pm-bus amba: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.183797][T29333] simple-pm-bus amba: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.184107][T29333] platform timer: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.184431][T29333] platform timer: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.184734][T29333] goodix_fp odm:goodixfp: PM: calling platform_pm_suspend @ 29333, parent: odm
[ 7915.185042][T29333] goodix_fp odm:goodixfp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.185369][T29333] simple-pm-bus odm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.185722][T29333] simple-pm-bus odm: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.186030][T29333] gs-chipid 10000000.chipid: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.186372][T29333] gs-chipid 10000000.chipid: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.186725][T29333] exynos-ect exynos-ect: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.187073][T29333] exynos-ect exynos-ect: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.187393][T29333] platform 1cc60000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.187747][T29333] platform 1cc60000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.188075][T29333] platform 1bd50000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.188430][T29333] platform 1bd50000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.188760][T29333] platform 1bd20000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.189093][T29333] platform 1bd20000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.189439][T29333] platform 1bcf0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.189793][T29333] platform 1bcf0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.190121][T29333] platform 1bcc0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.190475][T29333] platform 1bcc0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.190802][T29333] platform 1bc90000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.191157][T29333] platform 1bc90000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.191484][T29333] platform 102b0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.191839][T29333] platform 102b0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.192166][T29333] platform 1c8c0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.192522][T29333] platform 1c8c0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.192825][T29333] platform 1c890000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.193183][T29333] platform 1c890000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.193530][T29333] platform 1b800000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.193884][T29333] platform 1b800000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.194211][T29333] platform 1b7d0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.194566][T29333] platform 1b7d0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.194872][T29333] platform 1b7a0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.195247][T29333] platform 1b7a0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.195575][T29333] platform 1ad20000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.195911][T29333] platform 1ad20000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.196234][T29333] platform 11070000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.196593][T29333] platform 11070000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.196919][T29333] platform 1bb20000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.197293][T29333] platform 1bb20000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.197621][T29333] platform 1baf0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.197975][T29333] platform 1baf0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.198303][T29333] platform 1bac0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.198656][T29333] platform 1bac0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.198985][T29333] platform 200b0000.s2mpu_g3d3: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.199355][T29333] platform 200b0000.s2mpu_g3d3: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.199699][T29333] platform 200a0000.s2mpu_g3d2: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.200070][T29333] platform 200a0000.s2mpu_g3d2: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.200414][T29333] platform 20090000.s2mpu_g3d1: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.200773][T29333] platform 20090000.s2mpu_g3d1: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.201107][T29333] platform 20080000.s2mpu_g3d0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.201500][T29333] platform 20080000.s2mpu_g3d0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.201845][T29333] platform 1a8a0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.202199][T29333] platform 1a8a0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.202520][T29333] platform 1c730000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.202881][T29333] platform 1c730000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.203208][T29333] platform 1c6b0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.203562][T29333] platform 1c6b0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.203890][T29333] platform 1c680000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.204244][T29333] platform 1c680000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.204555][T29333] platform 17040000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.204908][T29333] platform 17040000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.205254][T29333] platform 1c180000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.205608][T29333] platform 1c180000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.205935][T29333] platform 1c170000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.206290][T29333] platform 1c170000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.206617][T29333] platform 1c160000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.206971][T29333] platform 1c160000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.207300][T29333] platform 1b0a0000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.207653][T29333] platform 1b0a0000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.207981][T29333] platform 1a550000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.208335][T29333] platform 1a550000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.208651][T29333] platform 1a520000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.208995][T29333] platform 1a520000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.209344][T29333] platform 20c70000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.209698][T29333] platform 20c70000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.210027][T29333] platform 1ca60000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.210381][T29333] platform 1ca60000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.210708][T29333] platform 17590000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.211062][T29333] platform 17590000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.211390][T29333] s2mpu 14480000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.211734][T29333] s2mpu 14480000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.212051][T29333] s2mpu 11880000.s2mpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.212396][T29333] s2mpu 11880000.s2mpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.212721][T29333] sjtag sjtag_gsa: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.213019][T29333] sjtag sjtag_gsa: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.213342][T29333] sjtag sjtag_ap: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.213667][T29333] sjtag sjtag_ap: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.213964][T29333] platform exynos-ehld: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.214308][T29333] platform exynos-ehld: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.214627][T29333] exynos-adv-tracer-s2d exynos_adv_tracer_s2d: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.215047][T29333] exynos-adv-tracer-s2d exynos_adv_tracer_s2d: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.215441][T29333] exynos-adv-tracer 176c0000.exynos-adv_tracer: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.215865][T29333] exynos-adv-tracer 176c0000.exynos-adv_tracer: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.216263][T29333] platform 11090000.etr-miu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.216625][T29333] platform 11090000.etr-miu: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.216936][T29333] exynos-etm exynos-etm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.217286][T29333] exynos-etm exynos-etm: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.217626][T29333] exynos-ecc-handler ecc-handler: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.218004][T29333] exynos-ecc-handler ecc-handler: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.218354][T29333] exynos-coresight coresight@25000000: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.218727][T29333] exynos-coresight coresight@25000000: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.219116][T29333] gs101-itmon gs101-itmon: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.219471][T29333] gs101-itmon gs101-itmon: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.219778][T29333] pixel-suspend-diag pixel-suspend-diag: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.220177][T29333] pixel-suspend-diag pixel-suspend-diag: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.220559][T29333] boot-metrics 2038000.boot-metrics: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.220939][T29333] boot-metrics 2038000.boot-metrics: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.221322][T29333] keydebug keydebug: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.221656][T29333] keydebug keydebug: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.221963][T29333] exynos-debug-test exynos-debug-test: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.222357][T29333] exynos-debug-test exynos-debug-test: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.222725][T29333] debug-snapshot-debug-kinfo dss-debug-kinfo: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.223142][T29333] debug-snapshot-debug-kinfo dss-debug-kinfo: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.223533][T29333] debug-snapshot-sfrdump dss-sfrdump: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.223924][T29333] debug-snapshot-sfrdump dss-sfrdump: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.224288][T29333] platform dss-qdump: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.224627][T29333] platform dss-qdump: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.224914][T29333] platform dss-built: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.225256][T29333] platform dss-built: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.225585][T29333] hardlockup-watchdog hardlockup-watchdog: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.226164][T26481] hardlockup_watchdog_disable: cpu0: disabled
[ 7915.226482][T29333] hardlockup-watchdog hardlockup-watchdog: PM: platform_pm_suspend returned 0 after 489 usecs
[ 7915.226668][T29333] hardlockup-debug-driver hardlockup-debugger: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.227021][T29333] hardlockup-debug-driver hardlockup-debugger: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.227422][T29333] debug-snapshot dss: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.227759][T29333] debug-snapshot dss: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.228071][T29333] exynos-bcm_dbg gs101-ppmu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.228454][T29333] exynos-bcm_dbg gs101-ppmu: PM: platform_pm_suspend returned 0 after 25 usecs
[ 7915.228767][T29333] lwis-slc lwis_slc@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.229087][T29333] lwis-slc lwis_slc@0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.229401][T29333] lwis-dpm lwis_dpm@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.229745][T29333] lwis-dpm lwis_dpm@0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.230078][T29333] lwis-top lwis_top@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.230419][T29333] lwis-top lwis_top@0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.230733][T29333] exynos-mipi-phy-csi 1a4f3600.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.231185][T29333] exynos-mipi-phy-csi 1a4f3600.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.231610][T29333] exynos-mipi-phy-csi 1a4f3300.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.232040][T29333] exynos-mipi-phy-csi 1a4f3300.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.232465][T29333] exynos-mipi-phy-csi 1a4f2e00.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.232931][T29333] exynos-mipi-phy-csi 1a4f2e00.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.233340][T29333] exynos-mipi-phy-csi 1a4f2b00.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.233808][T29333] exynos-mipi-phy-csi 1a4f2b00.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.234233][T29333] exynos-mipi-phy-csi 1a4f2600.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.234683][T29333] exynos-mipi-phy-csi 1a4f2600.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.235109][T29333] exynos-mipi-phy-csi 1a4f2300.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.235558][T29333] exynos-mipi-phy-csi 1a4f2300.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.235982][T29333] exynos-mipi-phy-csi 1a4f1b00.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.236433][T29333] exynos-mipi-phy-csi 1a4f1b00.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.236841][T29333] exynos-mipi-phy-csi 1a4f1300.dcphy_m0s4s4s4s4s4_csi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.237289][T29333] exynos-mipi-phy-csi 1a4f1300.dcphy_m0s4s4s4s4s4_csi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.237731][T29333] platform 1a420500.system-controller: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.238125][T29333] platform 1a420500.system-controller: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.238493][T29333] platform 174204e0.syscon: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.238851][T29333] platform 174204e0.syscon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.239181][T29333] platform 10c21000.syscon: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.239517][T29333] platform 10c21000.syscon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.239870][T29333] platform 10821000.syscon: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.240227][T29333] platform 10821000.syscon: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.240560][T29333] platform 14420000.system-controller: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.240934][T29333] platform 14420000.system-controller: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.241399][T29333] exynos-pd 17462900.pd-tpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.241681][T29333] exynos-pd 17462900.pd-tpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.242020][T29333] exynos-pd 17462880.pd-bo: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.242373][T29333] exynos-pd 17462880.pd-bo: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.242726][T29333] exynos-pd 17462800.pd-tnr: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.243064][T29333] exynos-pd 17462800.pd-tnr: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.243412][T29333] exynos-pd 17462780.pd-gdc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.243760][T29333] exynos-pd 17462780.pd-gdc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.244107][T29333] exynos-pd 17462700.pd-mcsc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.244436][T29333] exynos-pd 17462700.pd-mcsc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.244810][T29333] exynos-pd 17462580.pd-g3aa: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.245159][T29333] exynos-pd 17462580.pd-g3aa: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.245506][T29333] exynos-pd 17462680.pd-itp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.245858][T29333] exynos-pd 17462680.pd-itp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.246193][T29333] exynos-pd 17462480.pd-pdp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.246554][T29333] exynos-pd 17462480.pd-pdp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.246897][T29333] exynos-pd 17462400.pd-csis: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.247252][T29333] exynos-pd 17462400.pd-csis: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.247598][T29333] exynos-pd 17462380.pd-mfc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.247950][T29333] exynos-pd 17462380.pd-mfc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.248298][T29333] exynos-pd 17462300.pd-g2d: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.248649][T29333] exynos-pd 17462300.pd-g2d: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.248975][T29333] exynos-pd 17462280.pd-disp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.249344][T29333] exynos-pd 17462280.pd-disp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.249683][T29333] exynos-pd 17462080.pd-hsi0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.250046][T29333] exynos-pd 17462080.pd-hsi0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.250387][T29333] exynos-pd 17461e00.pd-g3d: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.250744][T29333] exynos-pd 17461e00.pd-g3d: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.251079][T29333] exynos-pd 17461c00.pd-eh: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.251436][T29333] exynos-pd 17461c00.pd-eh: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.251768][T29333] samsung,dma-heap-system video_system_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.252194][T29333] samsung,dma-heap-system video_system_dma_heap: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.252597][T29333] samsung,dma-heap-system system_dma_heap: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.252984][T29333] samsung,dma-heap-system system_dma_heap: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.253384][T29333] gsa 17c90000.gsa-ns: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.253724][T29333] gsa 17c90000.gsa-ns: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.254039][T29333] google-aoc-snd-incall aoc_incall_drv: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.254417][T29333] google-aoc-snd-incall aoc_incall_drv: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.254807][T29333] google-aoc-snd-voip aoc_voip_drv: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.255191][T29333] google-aoc-snd-voip aoc_voip_drv: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.255549][T29333] google-aoc-snd-nohost aoc_nohost: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.255933][T29333] google-aoc-snd-nohost aoc_nohost: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.256291][T29333] google-aoc-path aoc_path: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.256650][T29333] google-aoc-path aoc_path: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.256960][T29333] google-aoc-snd-compr aoc_compr_drv: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.257351][T29333] google-aoc-snd-compr aoc_compr_drv: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.257734][T29333] google-aoc-snd-voice aoc_voice_drv: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.258124][T29333] google-aoc-snd-voice aoc_voice_drv: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.258489][T29333] google-aoc-snd-pcm aoc_pcm_drv: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.258848][T29333] google-aoc-snd-pcm aoc_pcm_drv: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.259218][T29333] reg-fixed-voltage cs35l41_dummy_regulator@0: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.259637][T29333] reg-fixed-voltage cs35l41_dummy_regulator@0: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.260014][T29333] wc-mbox 176a0000.mbox: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.260364][T29333] wc-mbox 176a0000.mbox: PM: platform_pm_suspend returned 0 after 4 usecs
[ 7915.260682][T29333] mali-pcm priority-control-manager: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.261069][T29333] mali-pcm priority-control-manager: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.261449][T29333] mali-mgm physical-memory-group-manager: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.261854][T29333] mali-mgm physical-memory-group-manager: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.262231][T29333] exynos-mipi-phy dphy_m4s4_dsim0@1C2E0000: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.262641][T29333] exynos-mipi-phy dphy_m4s4_dsim0@1C2E0000: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.263025][T29333] platform 1c221000.disp_ss: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.263386][T29333] platform 1c221000.disp_ss: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.263721][T29333] exynos-writeback 1c0bc000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.264104][T29333] exynos-writeback 1c0bc000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.264462][T29333] exynos-dpp 1c0b5000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.264828][T29333] exynos-dpp 1c0b5000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.265164][T29333] exynos-dpp 1c0b4000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.265528][T29333] exynos-dpp 1c0b4000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.265866][T29333] exynos-dpp 1c0b3000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.266230][T29333] exynos-dpp 1c0b3000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.266568][T29333] exynos-dpp 1c0b2000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.266932][T29333] exynos-dpp 1c0b2000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.267269][T29333] exynos-dpp 1c0b1000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.267633][T29333] exynos-dpp 1c0b1000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.267971][T29333] exynos-dpp 1c0b0000.drmdpp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.268335][T29333] exynos-dpp 1c0b0000.drmdpp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.268656][T29333] samsung-sysmmu 1a090000.sysmmu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.269051][T29333] samsung-sysmmu 1a090000.sysmmu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.269401][T29333] sysmmu-group iommu_group_tpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.269772][T29333] sysmmu-group iommu_group_tpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.270117][T29333] sysmmu-group iommu_group_smfc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.270490][T29333] sysmmu-group iommu_group_smfc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.270838][T29333] sysmmu-group iommu_group_g2d: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.271209][T29333] sysmmu-group iommu_group_g2d: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.271553][T29333] sysmmu-group iommu_group_aoc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.271924][T29333] sysmmu-group iommu_group_aoc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.272268][T29333] sysmmu-group iommu_group_mfc: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.272623][T29333] sysmmu-group iommu_group_mfc: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.272965][T29333] sysmmu-group iommu_group_bo: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.273351][T29333] sysmmu-group iommu_group_bo: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.273692][T29333] sysmmu-group iommu_group_isp: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.274063][T29333] sysmmu-group iommu_group_isp: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.274407][T29333] sysmmu-group iommu_group_dpu: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.274777][T29333] sysmmu-group iommu_group_dpu: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.275126][T29333] samsung-pinctrl 10c40000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.275506][T29333] samsung-pinctrl 10c40000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.275873][T29333] samsung-pinctrl 10840000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.276248][T29333] samsung-pinctrl 10840000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.276610][T29333] samsung-pinctrl 14440000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.276990][T29333] samsung-pinctrl 14440000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.277349][T29333] samsung-pinctrl 11840000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.277731][T29333] samsung-pinctrl 11840000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.278089][T29333] samsung-pinctrl 17940000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.278472][T29333] samsung-pinctrl 17940000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.278832][T29333] samsung-pinctrl 17a80000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.279215][T29333] samsung-pinctrl 17a80000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.279574][T29333] samsung-pinctrl 174e0000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.279956][T29333] samsung-pinctrl 174e0000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.280317][T29333] samsung-pinctrl 174d0000.pinctrl: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.280699][T29333] samsung-pinctrl 174d0000.pinctrl: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.281037][T29333] dit 10190000.dit: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.281387][T29333] dit 10190000.dit: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.281672][T29333] exynos-acme exynos-acme: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.282045][T29333] exynos-acme exynos-acme: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.282373][T29333] exynos-cpupm cpupm: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.282711][T29333] exynos-cpupm cpupm: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.283021][T29333] psci-cpuidle-domain psci: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.283379][T29333] psci-cpuidle-domain psci: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.283709][T29333] gs101-cp-thermal-zone cp-tm1: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.284080][T29333] gs101-cp-thermal-zone cp-tm1: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.284424][T29333] exynos-bts exynos-bts: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.284774][T29333] exynos-bts exynos-bts: PM: platform_pm_suspend returned 0 after 2 usecs
[ 7915.285079][T29333] trusty trusty: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.285414][T29333] trusty trusty: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.285708][T29333] platform fd800000.bootloader_log: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.286092][T29333] platform fd800000.bootloader_log: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.286453][T29333] ramoops fd3ff000.ramoops_mem: PM: calling platform_pm_suspend @ 29333, parent: platform
[ 7915.286821][T29333] ramoops fd3ff000.ramoops_mem: PM: platform_pm_suspend returned 0 after 1 usecs
[ 7915.287166][T29333] regulator regulator.0: PM: calling regulator_suspend @ 29333, parent: reg-dummy
[ 7915.287510][T29333] regulator regulator.0: PM: regulator_suspend returned 0 after 2 usecs
[ 7915.288167][T29333] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
[ 7915.288311][T29333] PM: tudor: dpm_suspend: before async_synchronize_full
[ 7915.288427][T29333] PM: tudor: dpm_suspend: after async_synchronize_full();
[ 7915.288662][T29333] PM: suspend of devices complete after 471.873 msecs
[ 7915.288914][T29333] PM: start suspend of devices complete after 476.453 msecs
[ 7915.290187][T29333] s51xx 0000:01:00.0: PM: calling pci_pm_suspend_late @ 29333, parent: 0000:00:00.0
[ 7915.290345][T29333] s51xx 0000:01:00.0: PM: pci_pm_suspend_late returned 0 after 2 usecs
[ 7915.290988][T29333] pcieh 0001:01:00.0: PM: calling pci_pm_suspend_late @ 29333, parent: 0001:00:00.0
[ 7915.291144][T29333] pcieh 0001:01:00.0: PM: pci_pm_suspend_late returned 0 after 1 usecs
[ 7915.291309][T29333] exynos-dsim 1c2c0000.drmdsim: PM: calling dsim_suspend [exynos_drm] @ 29333, parent: platform
[ 7915.291504][T29333] exynos-dsim 1c2c0000.drmdsim: PM: dsim_suspend [exynos_drm] returned 0 after 2 usecs
[ 7915.291968][T29333] pcieport 0001:00:00.0: PM: calling pci_pm_suspend_late @ 29333, parent: pci0001:00
[ 7915.292125][T29333] pcieport 0001:00:00.0: PM: pci_pm_suspend_late returned 0 after 1 usecs
[ 7915.292520][T29333] pcieport 0000:00:00.0: PM: calling pci_pm_suspend_late @ 29333, parent: pci0000:00
[ 7915.292676][T29333] pcieport 0000:00:00.0: PM: pci_pm_suspend_late returned 0 after 1 usecs
[ 7915.294349][T29333] gs101-devfreq 17000080.devfreq_bo: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.294573][T29333] gs101-devfreq 17000080.devfreq_bo: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 4 usecs
[ 7915.294765][T29333] gs101-devfreq 17000070.devfreq_mfc: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.294985][T29333] gs101-devfreq 17000070.devfreq_mfc: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 2 usecs
[ 7915.295308][T29333] gs101-devfreq 17000060.devfreq_tnr: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.295762][T29333] gs101-devfreq 17000060.devfreq_tnr: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 2 usecs
[ 7915.296196][T29333] gs101-devfreq 17000050.devfreq_cam: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.296672][T29333] gs101-devfreq 17000050.devfreq_cam: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 3 usecs
[ 7915.297066][T29333] gs101-devfreq 17000040.devfreq_disp: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.297542][T29333] gs101-devfreq 17000040.devfreq_disp: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 2 usecs
[ 7915.297978][T29333] gs101-devfreq 17000030.devfreq_intcam: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.298443][T29333] gs101-devfreq 17000030.devfreq_intcam: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 2 usecs
[ 7915.298886][T29333] gs101-devfreq 17000020.devfreq_int: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.299396][T29333] gs101-devfreq 17000020.devfreq_int: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 57 usecs
[ 7915.299778][T29333] gs101-devfreq 17000010.devfreq_mif: PM: calling exynos_devfreq_suspend [exynos_devfreq] @ 29333, parent: platform
[ 7915.300284][T29333] gs101-devfreq 17000010.devfreq_mif: PM: exynos_devfreq_suspend [exynos_devfreq] returned 0 after 54 usecs
[ 7915.300918][T29333] dma-pl330 10110000.pdma0: PM: calling pl330_suspend [pl330] @ 29333, parent: amba
[ 7915.301079][T29333] dma-pl330 10110000.pdma0: PM: pl330_suspend [pl330] returned 0 after 2 usecs
[ 7915.302294][T29333] samsung-sysmmu 1cc40000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.302490][T29333] samsung-sysmmu 1cc40000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 2 usecs
[ 7915.302671][T29333] exynos-pd 17462900.pd-tpu: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.302853][T29333] exynos-pd 17462900.pd-tpu: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.303127][T29333] samsung-sysmmu 1ca40000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.303568][T29333] samsung-sysmmu 1ca40000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.303981][T29333] exynos-pd 17462880.pd-bo: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.304390][T29333] exynos-pd 17462880.pd-bo: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.304771][T29333] samsung-sysmmu 1bc70000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.305193][T29333] samsung-sysmmu 1bc70000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.305625][T29333] samsung-sysmmu 1bca0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.306065][T29333] samsung-sysmmu 1bca0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.306480][T29333] samsung-sysmmu 1bcd0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.306920][T29333] samsung-sysmmu 1bcd0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.307335][T29333] samsung-sysmmu 1bd00000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.307775][T29333] samsung-sysmmu 1bd00000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.308189][T29333] samsung-sysmmu 1bd30000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.308631][T29333] samsung-sysmmu 1bd30000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.309043][T29333] exynos-pd 17462800.pd-tnr: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.309455][T29333] exynos-pd 17462800.pd-tnr: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.309839][T29333] samsung-sysmmu 1baa0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.310279][T29333] samsung-sysmmu 1baa0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.310694][T29333] samsung-sysmmu 1bad0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.311135][T29333] samsung-sysmmu 1bad0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.311548][T29333] samsung-sysmmu 1bb00000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.311989][T29333] samsung-sysmmu 1bb00000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.312403][T29333] exynos-pd 17462780.pd-gdc: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.312817][T29333] exynos-pd 17462780.pd-gdc: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.313198][T29333] samsung-sysmmu 1b780000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.313639][T29333] samsung-sysmmu 1b780000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.314053][T29333] samsung-sysmmu 1b7b0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.314494][T29333] samsung-sysmmu 1b7b0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.314907][T29333] samsung-sysmmu 1b7e0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.315349][T29333] samsung-sysmmu 1b7e0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.315762][T29333] exynos-pd 17462700.pd-mcsc: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.316177][T29333] exynos-pd 17462700.pd-mcsc: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.316575][T29333] samsung-sysmmu 1ad00000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.316986][T29333] samsung-sysmmu 1ad00000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.317418][T29333] exynos-pd 17462600.pd-ipp: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.317830][T29333] exynos-pd 17462600.pd-ipp: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.318214][T29333] samsung-sysmmu 1a880000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.318654][T29333] samsung-sysmmu 1a880000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.319068][T29333] exynos-pd 17462580.pd-g3aa: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.319483][T29333] exynos-pd 17462580.pd-g3aa: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.319852][T29333] samsung-sysmmu 1b080000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.320311][T29333] samsung-sysmmu 1b080000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.320726][T29333] exynos-pd 17462500.pd-dns: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.321117][T29333] exynos-pd 17462500.pd-dns: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.321519][T29333] exynos-pd 17462680.pd-itp: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.321930][T29333] exynos-pd 17462680.pd-itp: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.322314][T29333] exynos-pd 17462480.pd-pdp: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.322726][T29333] exynos-pd 17462480.pd-pdp: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.323090][T29333] samsung-sysmmu 1a510000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.323551][T29333] samsung-sysmmu 1a510000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.323945][T29333] samsung-sysmmu 1a540000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.324386][T29333] samsung-sysmmu 1a540000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.324804][T29333] exynos-pd 17462400.pd-csis: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.325234][T29333] exynos-pd 17462400.pd-csis: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 2 usecs
[ 7915.325620][T29333] samsung-sysmmu 1c870000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.326061][T29333] samsung-sysmmu 1c870000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.326475][T29333] samsung-sysmmu 1c8a0000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.326897][T29333] samsung-sysmmu 1c8a0000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.327330][T29333] exynos-pd 17462380.pd-mfc: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.327742][T29333] exynos-pd 17462380.pd-mfc: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.328125][T29333] samsung-sysmmu 1c660000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.328555][T29333] samsung-sysmmu 1c660000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.328980][T29333] samsung-sysmmu 1c690000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.329421][T29333] samsung-sysmmu 1c690000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.329834][T29333] samsung-sysmmu 1c710000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.330275][T29333] samsung-sysmmu 1c710000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.330670][T29333] exynos-pd 17462300.pd-g2d: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.331100][T29333] exynos-pd 17462300.pd-g2d: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.331484][T29333] samsung-sysmmu 1c100000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.331925][T29333] samsung-sysmmu 1c100000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.332339][T29333] samsung-sysmmu 1c110000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.332763][T29333] samsung-sysmmu 1c110000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.333194][T29333] samsung-sysmmu 1c120000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.333635][T29333] samsung-sysmmu 1c120000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.334048][T29333] exynos-pd 17462200.pd-dpu: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.334441][T29333] exynos-pd 17462200.pd-dpu: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.334843][T29333] exynos-pd 17462280.pd-disp: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.335258][T29333] exynos-pd 17462280.pd-disp: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.335645][T29333] exynos-pd 17462080.pd-hsi0: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.336060][T29333] exynos-pd 17462080.pd-hsi0: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.336446][T29333] exynos-pd 17462000.pd-embedded_g3d: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.336889][T29333] exynos-pd 17462000.pd-embedded_g3d: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.337301][T29333] exynos-pd 17461e00.pd-g3d: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.337712][T29333] exynos-pd 17461e00.pd-g3d: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.338095][T29333] exynos-pd 17461c00.pd-eh: PM: calling exynos_pd_suspend_late [exynos_pd] @ 29333, parent: platform
[ 7915.338504][T29333] exynos-pd 17461c00.pd-eh: PM: exynos_pd_suspend_late [exynos_pd] returned 0 after 1 usecs
[ 7915.338944][T29333] samsung-sysmmu 1a090000.sysmmu: PM: calling samsung_sysmmu_suspend [samsung_iommu] @ 29333, parent: platform
[ 7915.339325][T29333] samsung-sysmmu 1a090000.sysmmu: PM: samsung_sysmmu_suspend [samsung_iommu] returned 0 after 1 usecs
[ 7915.340137][T29333] PM: late suspend of devices complete after 50.932 msecs
[ 7915.341824][T29333] s51xx 0000:01:00.0: PM: calling pci_pm_suspend_noirq @ 29333, parent: 0000:00:00.0
[ 7915.342045][T29333] s51xx 0000:01:00.0: PM: pci_pm_suspend_noirq returned 0 after 50 usecs
[ 7915.342658][T29333] pcieh 0001:01:00.0: PM: calling pci_pm_suspend_noirq @ 29333, parent: 0001:00:00.0
[ 7915.342954][T29333] pcieh 0001:01:00.0: PM: pci_pm_suspend_noirq returned 0 after 21 usecs
[ 7915.343233][T29333] cs40l2x i2c-c240l2x: PM: calling cs40l2x_sys_suspend_noirq [haptics_cs40l2x] @ 29333, parent: i2c-8
[ 7915.343574][T29333] cs40l2x i2c-c240l2x: PM: cs40l2x_sys_suspend_noirq [haptics_cs40l2x] returned 0 after 5 usecs
[ 7915.343930][T29333] lwis-ioreg 1a440000.lwis_csi: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.344231][T29333] lwis-ioreg 1a440000.lwis_csi: PM: genpd_suspend_noirq returned 0 after 5 usecs
[ 7915.344561][T29333] exynos-dwc3 11110000.usb: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.344843][T29333] exynos-dwc3 11110000.usb: PM: genpd_suspend_noirq returned 0 after 3 usecs
[ 7915.345111][T29333] phy_exynos_usbdrd 11100000.phy: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.345407][T29333] phy_exynos_usbdrd 11100000.phy: PM: genpd_suspend_noirq returned 0 after 1 usecs
[ 7915.345717][T29333] max77759-charger i2c-max77759chrg: PM: calling max77759_charger_pm_suspend [max77759_charger] @ 29333, parent: i2c-12
[ 7915.346103][T29333] max77759-charger i2c-max77759chrg: PM: max77759_charger_pm_suspend [max77759_charger] returned 0 after 5 usecs
[ 7915.346480][T29333] exynos_pd_hsi0 sub-pd-hsi0: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.346769][T29333] exynos_pd_hsi0 sub-pd-hsi0: PM: genpd_suspend_noirq returned 0 after 1 usecs
[ 7915.347063][T29333] pcieport 0001:00:00.0: PM: calling pci_pm_suspend_noirq @ 29333, parent: pci0001:00
[ 7915.347431][T29333] pcieport 0001:00:00.0: PM: pci_pm_suspend_noirq returned 0 after 18 usecs
[ 7915.347895][T29333] exynos-pcie-rc 14520000.pcie: PM: calling exynos_pcie_rc_suspend_noirq [pcie_exynos_gs] @ 29333, parent: platform
[ 7915.348281][T29333] exynos-pcie-rc 14520000.pcie: PM: exynos_pcie_rc_suspend_noirq [pcie_exynos_gs] returned 0 after 16 usecs
[ 7915.348642][T29333] pcieport 0000:00:00.0: PM: calling pci_pm_suspend_noirq @ 29333, parent: pci0000:00
[ 7915.349118][T29333] pcieport 0000:00:00.0: PM: pci_pm_suspend_noirq returned 0 after 130 usecs
[ 7915.349487][T29333] genpd genpd:1:1c500000.mali: PM: calling genpd_suspend_noirq @ 29333, parent: none
[ 7915.349769][T29333] genpd genpd:1:1c500000.mali: PM: genpd_suspend_noirq returned 0 after 3 usecs
[ 7915.350036][T29333] genpd genpd:0:1c500000.mali: PM: calling genpd_suspend_noirq @ 29333, parent: none
[ 7915.350371][T29333] genpd genpd:0:1c500000.mali: PM: genpd_suspend_noirq returned 0 after 2 usecs
[ 7915.350892][T29333] exynos-pcie-rc 11920000.pcie: PM: calling exynos_pcie_rc_suspend_noirq [pcie_exynos_gs] @ 29333, parent: platform
[ 7915.351253][T29333] exynos-pcie-rc 11920000.pcie: PM: exynos_pcie_rc_suspend_noirq [pcie_exynos_gs] returned 0 after 8 usecs
[ 7915.351611][T29333] p9221 i2c-p9221: PM: calling p9221_pm_suspend [p9221] @ 29333, parent: i2c-8
[ 7915.351936][T29333] p9221 i2c-p9221: PM: p9221_pm_suspend [p9221] returned 0 after 4 usecs
[ 7915.352373][T29333] max1720x i2c-max1720x_fg: PM: calling max1720x_pm_suspend [max1720x_battery] @ 29333, parent: i2c-12
[ 7915.352715][T29333] max1720x i2c-max1720x_fg: PM: max1720x_pm_suspend [max1720x_battery] returned 0 after 3 usecs
[ 7915.353353][T29333] lwis-ioreg 1aa40000.lwis_pdp: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.353644][T29333] lwis-ioreg 1aa40000.lwis_pdp: PM: genpd_suspend_noirq returned 0 after 1 usecs
[ 7915.353929][T29333] exynos-jpeg 1c700000.smfc: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.354214][T29333] exynos-jpeg 1c700000.smfc: PM: genpd_suspend_noirq returned 0 after 2 usecs
[ 7915.354483][T29333] exynos-decon 1c302000.drmdecon: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.354849][T29333] exynos-decon 1c302000.drmdecon: PM: genpd_suspend_noirq returned 0 after 3 usecs
[ 7915.355197][T29333] exynos-decon 1c300000.drmdecon: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.355575][T29333] exynos-decon 1c300000.drmdecon: PM: genpd_suspend_noirq returned 0 after 1 usecs
[ 7915.355933][T29333] bigocean 1cb00000.bigocean: PM: calling genpd_suspend_noirq @ 29333, parent: platform
[ 7915.356291][T29333] bigocean 1cb00000.bigocean: PM: genpd_suspend_noirq returned 0 after 2 usecs
[ 7915.357016][T29333] exynos5-hsi2c 10d50000.hsi2c: PM: calling exynos5_i2c_suspend_noirq [i2c_exynos5] @ 29333, parent: platform
[ 7915.357358][T29333] exynos5-hsi2c 10d50000.hsi2c: tudor: exynos5_i2c_suspend_noirq enter
[ 7915.357603][T29333] exynos5-hsi2c 10d50000.hsi2c: tudor: exynos5_i2c_runtime_suspend enter
[ 7915.357870][T29333] exynos5-hsi2c 10d50000.hsi2c: tudor: exynos5_i2c_runtime_suspend exit
[ 7915.358114][T29333] exynos5-hsi2c 10d50000.hsi2c: tudor: exynos5_i2c_suspend_noirq exit
[ 7915.358353][T29333] exynos5-hsi2c 10d50000.hsi2c: PM: exynos5_i2c_suspend_noirq [i2c_exynos5] returned 0 after 995 usecs
[ 7915.358725][T29333] exynos5-hsi2c 10960000.hsi2c: PM: calling exynos5_i2c_suspend_noirq [i2c_exynos5] @ 29333, parent: platform
[ 7915.359164][T29333] exynos5-hsi2c 10960000.hsi2c: tudor: exynos5_i2c_suspend_noirq enter
[ 7915.359475][T29333] exynos5-hsi2c 10960000.hsi2c: tudor: exynos5_i2c_suspend_noirq exit
[ 7915.359778][T29333] exynos5-hsi2c 10960000.hsi2c: PM: exynos5_i2c_suspend_noirq [i2c_exynos5] returned 0 after 613 usecs
[ 7915.360211][T29333] exynos5-hsi2c 10970000.hsi2c: PM: calling exynos5_i2c_suspend_noirq [i2c_exynos5] @ 29333, parent: platform
[ 7915.360744][T29333] exynos5-hsi2c 10970000.hsi2c: tudor: exynos5_i2c_suspend_noirq enter
[ 7915.360991][T29333] exynos5-hsi2c 10970000.hsi2c: tudor: exynos5_i2c_suspend_noirq exit
[ 7915.361249][T29333] exynos5-hsi2c 10970000.hsi2c: PM: exynos5_i2c_suspend_noirq [i2c_exynos5] returned 0 after 505 usecs
[ 7915.361666][T29333] exynos5-hsi2c 10920000.hsi2c: PM: calling exynos5_i2c_suspend_noirq [i2c_exynos5] @ 29333, parent: platform
[ 7915.362104][T29333] exynos5-hsi2c 10920000.hsi2c: tudor: exynos5_i2c_suspend_noirq enter
[ 7915.362415][T29333] exynos5-hsi2c 10920000.hsi2c: tudor: exynos5_i2c_suspend_noirq exit
[ 7915.362719][T29333] exynos5-hsi2c 10920000.hsi2c: PM: exynos5_i2c_suspend_noirq [i2c_exynos5] returned 0 after 616 usecs
[ 7915.363135][T29333] exynos5-hsi2c 10910000.hsi2c: PM: calling exynos5_i2c_suspend_noirq [i2c_exynos5] @ 29333, parent: platform
[ 7915.363574][T29333] exynos5-hsi2c 10910000.hsi2c: tudor: exynos5_i2c_suspend_noirq enter
[ 7915.363886][T29333] exynos5-hsi2c 10910000.hsi2c: tudor: exynos5_i2c_suspend_noirq exit
[ 7915.364189][T29333] exynos5-hsi2c 10910000.hsi2c: PM: exynos5_i2c_suspend_noirq [i2c_exynos5] returned 0 after 615 usecs
[ 7915.364607][T29333] exynos5-hsi2c 10900000.hsi2c: PM: calling exynos5_i2c_suspend_noirq [i2c_exynos5] @ 29333, parent: platform
[ 7915.365044][T29333] exynos5-hsi2c 10900000.hsi2c: tudor: exynos5_i2c_suspend_noirq enter
[ 7915.365355][T29333] exynos5-hsi2c 10900000.hsi2c: tudor: exynos5_i2c_suspend_noirq exit
[ 7915.365659][T29333] exynos5-hsi2c 10900000.hsi2c: PM: exynos5_i2c_suspend_noirq [i2c_exynos5] returned 0 after 615 usecs
[ 7915.366144][T29333] cp_interface cpif: PM: calling modem_suspend [cpif] @ 29333, parent: platform
[ 7915.366470][T29333] cpif: modem_ctrl_set_kerneltime: time = 715.361993
[ 7915.366699][T29333] cp_interface cpif: PM: modem_suspend [cpif] returned 0 after 260 usecs
[ 7915.367002][T29333] exynos-uart 175b0000.serial: PM: calling exynos_serial_suspend_noirq [exynos_tty] @ 29333, parent: platform
[ 7915.367420][T29333] exynos-uart 175b0000.serial: PM: exynos_serial_suspend_noirq [exynos_tty] returned 0 after 2 usecs
[ 7915.368122][T29333] eh 17100000.eh: PM: calling genpd_suspend_noirq @ 29333, parent\FA\00[ 7915.551114][T29333] exynos-uart 10a00000.uart: PM: platform_pm_resume returned 0 after 37 usecs
[ 7915.551263][T29333] eh 17100000.eh: PM: calling eh_resume [eh] @ 29333, parent: platform
[ 7915.551418][T29333] eh 17100000.eh: PM: eh_resume [eh] returned 0 after 8 usecs
[ 7915.551583][T29333] exynos-cpuhp exynos-cpuphp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.551747][T29333] exynos-cpuhp exynos-cpuphp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.551899][T29333] acpm_flexpmu_dbg acpm_flexpmu_dbg: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.552305][T29333] acpm_flexpmu_dbg acpm_flexpmu_dbg: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.552636][T29333] acpm-stress mbox: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.552983][T29333] acpm-stress mbox: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.553282][T29333] gs-acpm 17440000.acpm: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.553629][T29333] gs-acpm 17440000.acpm: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.553945][T29333] gs-acpm-ipc 17610000.acpm_ipc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.554306][T29333] gs-acpm-ipc 17610000.acpm_ipc: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.554659][T29333] power_stats acpm_stats: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.555009][T29333] power_stats acpm_stats: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.555328][T29333] google,slc slc-dummy: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.555671][T29333] google,slc slc-dummy: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.555983][T29333] google,slc-acpm slc-acpm: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.556328][T29333] google,slc-acpm slc-acpm: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.556665][T29333] i2c-acpm acpm_mfd_bus@17500000: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.557041][T29333] i2c-acpm acpm_mfd_bus@17500000: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.557388][T29333] i2c-acpm acpm_mfd_bus@17510000: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.557763][T29333] i2c-acpm acpm_mfd_bus@17510000: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.558109][T29333] exynos-dm 17000000.exynos-dm: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.558478][T29333] exynos-dm 17000000.exynos-dm: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.558817][T29333] exynos-devfreq-root exynos_devfreq: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.559206][T29333] exynos-devfreq-root exynos_devfreq: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.559565][T29333] devfreq-memlat gs_memlat_devfreq: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.559948][T29333] devfreq-memlat gs_memlat_devfreq: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.560285][T29333] arm-memlat-mon cpu0-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.560663][T29333] arm-memlat-mon cpu0-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.560996][T29333] arm-memlat-mon cpu1-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.561358][T29333] arm-memlat-mon cpu1-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.561673][T29333] arm-memlat-mon cpu2-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.562053][T29333] arm-memlat-mon cpu2-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.562386][T29333] arm-memlat-mon cpu3-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.562729][T29333] arm-memlat-mon cpu3-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.563082][T29333] arm-memlat-mon cpu4-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.563444][T29333] arm-memlat-mon cpu4-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.563776][T29333] arm-memlat-mon cpu5-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.564123][T29333] arm-memlat-mon cpu5-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.564453][T29333] arm-memlat-mon cpu6-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.564834][T29333] arm-memlat-mon cpu6-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.565166][T29333] arm-memlat-mon cpu7-cpugrp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.565510][T29333] arm-memlat-mon cpu7-cpugrp: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.565862][T29333] s3c2410-wdt 10060000.watchdog_cl0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.566248][T29333] s3c2410-wdt 10060000.watchdog_cl0: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.566604][T29333] s3c2410-wdt 10070000.watchdog_cl1: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.566990][T29333] s3c2410-wdt 10070000.watchdog_cl1: s3c2410wdt_multistage_wdt_stop: cluster 1 stop done, WTCON 00018001
[ 7915.567410][T29333] s3c2410-wdt 10070000.watchdog_cl1: Watchdog cluster 1 stop done, WTCON = 18000
[ 7915.567761][T29333] s3c2410-wdt 10070000.watchdog_cl1: NONCPU_OUT set true done, val = 88, en= 1
[ 7915.568095][T29333] s3c2410-wdt 10070000.watchdog_cl1: watchdog enabled, con: 0x0011573c, dat: 0x0000ffaf, cnt: 0x0000ffaf
[ 7915.568927][T29333] s3c2410-wdt 10070000.watchdog_cl1: windowed_wd enabled, wtmincnt: 0x0001ff5e
[ 7915.569096][T29333] s3c2410-wdt 10070000.watchdog_cl1: PM: platform_pm_resume returned 0 after 2107 usecs
[ 7915.569272][T29333] gs-tmu 100a0000.BIG: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.569598][T29333] exynos_acpm_tmu_set_resume: acpm irq 0 cold cnt 0 stat 1
[ 7915.570079][T29333] gs_tmu_resume: thermal zone 0 temp 10 stat 1
[ 7915.570189][T29333] gs-tmu 100a0000.BIG: PM: platform_pm_resume returned 0 after 635 usecs
[ 7915.570348][T29333] gs-tmu 100a0000.MID: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.570848][T29333] gs_tmu_resume: thermal zone 1 temp 10 stat 1
[ 7915.570956][T29333] gs-tmu 100a0000.MID: PM: platform_pm_resume returned 0 after 252 usecs
[ 7915.571250][T29333] gs-tmu 100a0000.LITTLE: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.571745][T29333] gs_tmu_resume: thermal zone 2 temp 10 stat 1
[ 7915.571853][T29333] gs-tmu 100a0000.LITTLE: PM: platform_pm_resume returned 0 after 253 usecs
[ 7915.572149][T29333] gs-tmu 100b0000.G3D: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.572789][T29333] gs_tmu_resume: thermal zone 3 temp 10 stat 1
[ 7915.572896][T29333] gs-tmu 100b0000.G3D: PM: platform_pm_resume returned 0 after 421 usecs
[ 7915.573034][T29333] gs-tmu 100b0000.ISP: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.574813][T29333] gs_tmu_resume: thermal zone 4 temp 10 stat 0
[ 7915.574918][T29333] gs-tmu 100b0000.ISP: PM: platform_pm_resume returned 0 after 1562 usecs
[ 7915.575063][T29333] gs-tmu 100b0000.TPU: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.575507][T29333] gs_tmu_resume: thermal zone 5 temp 10 stat 0
[ 7915.575612][T29333] gs_tmu_resume: TMU resume complete
[ 7915.575702][T29333] gs-tmu 100b0000.TPU: PM: platform_pm_resume returned 0 after 491 usecs
[ 7915.575897][T29333] platform seclog: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.576050][T29333] platform seclog: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.576225][T29333] google,battery google,battery: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.576647][T29333] google,battery google,battery: PM: platform_pm_resume returned 0 after 52 usecs
[ 7915.576969][T29333] cp_shmem cp_shmem: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.577307][T29333] cp_shmem cp_shmem: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.577666][T29333] touch_bus_negotiator tbn: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.578011][T29333] touch_bus_negotiator tbn: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.578281][T29333] regulator regulator.1: PM: calling regulator_resume @ 29333, parent: cs35l41_dummy_regulator@0
[ 7915.578736][T29333] regulator regulator.1: PM: regulator_resume returned 0 after 2 usecs
[ 7915.579353][T29333] smccc_trng smccc_trng: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.579538][T29333] smccc_trng smccc_trng: PM: platform_pm_resume returned 0 after 4 usecs
[ 7915.579712][T29333] platform icc-debugfs-client: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.580446][T29333] platform icc-debugfs-client: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.580678][T29333] exynos-uart 175b0000.serial: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.580896][T29333] exynos-uart 175b0000.serial: cannot get irq 141
[ 7915.581360][T29333] exynos-uart 175b0000.serial: PM: platform_pm_resume returned 0 after 494 usecs
[ 7915.581520][T29333] gpio-keys gpio_keys: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.581683][T29333] gpio-keys gpio_keys: PM: platform_pm_resume returned 0 after 14 usecs
[ 7915.581931][T29333] input input0: PM: calling input_dev_resume @ 29333, parent: gpio_keys
[ 7915.582239][T29333] input input0: PM: input_dev_resume returned 0 after 2 usecs
[ 7915.582525][T29333] cp_interface cpif: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.582853][T29333] cp_interface cpif: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.583191][T29333] reg-fixed-voltage fixedregulator@0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.583564][T29333] reg-fixed-voltage fixedregulator@0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.583907][T29333] regulator regulator.2: PM: calling regulator_resume @ 29333, parent: fixedregulator@0
[ 7915.584299][T29333] regulator regulator.2: PM: regulator_resume returned 0 after 2 usecs
[ 7915.584643][T29333] sbb-mux sbb-mux: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.584964][T29333] sbb-mux sbb-mux: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.585270][T29333] pps-gpio pps: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.585558][T29333] pps-gpio pps: PM: platform_pm_resume returned 0 after 4 usecs
[ 7915.585842][T28194] google_battery: failed to store FCNU (-13)
[ 7915.586024][T28194] google,battery google,battery: force full charged at cycle 43
[ 7915.586344][T29333] nitrous_bluetooth odm:btbcm: PM: calling platform_pm_resume @ 29333, parent: odm
[ 7915.586689][T29333] nitrous_bluetooth odm:btbcm: PM: platform_pm_resume returned 0 after 10 usecs
[ 7915.587021][T29333] exynos5-hsi2c 10900000.hsi2c: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.587390][T29333] exynos5-hsi2c 10900000.hsi2c: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.587729][T29333] exynos5-hsi2c 10910000.hsi2c: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.588088][T29333] exynos5-hsi2c 10910000.hsi2c: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.588419][T29333] exynos5-hsi2c 10920000.hsi2c: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.588806][T29333] exynos5-hsi2c 10920000.hsi2c: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.589146][T29333] exynos5-hsi2c 10970000.hsi2c: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.589514][T29333] exynos5-hsi2c 10970000.hsi2c: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.589867][T29333] lwis-i2c flash@0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.590183][T29333] lwis-i2c flash@0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.590482][T29333] exynos5-hsi2c 10960000.hsi2c: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.590852][T29333] exynos5-hsi2c 10960000.hsi2c: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.591191][T29333] exynos5-hsi2c 10d50000.hsi2c: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.591560][T29333] exynos5-hsi2c 10d50000.hsi2c: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.591904][T29333] exynos-mct 10050000.mct: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.592253][T29333] exynos-mct 10050000.mct: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.592643][T29333] s3c64xx-spi 10940000.spi: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.592952][T29333] s3c64xx-spi 10940000.spi: PM: platform_pm_resume returned 0 after 23 usecs
[ 7915.593242][T29333] brcm gps spi spi5.0: PM: calling bcm_spi_resume [bcm47765] @ 29333, parent: spi5
[ 7915.593611][T29333] brcm gps spi spi5.0: PM: bcm_spi_resume [bcm47765] returned 0 after 3 usecs
[ 7915.593941][T29333] s3c64xx-spi 10950000.spi: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.594316][T29333] s3c64xx-spi 10950000.spi: PM: platform_pm_resume returned 0 after 20 usecs
[ 7915.594609][T29333] s3c64xx-spi 10a20000.spi: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.595001][T29333] s3c64xx-spi 10a20000.spi: PM: platform_pm_resume returned 0 after 20 usecs
[ 7915.595297][T29333] s3c64xx-spi 10d20000.spi: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.595686][T29333] s3c64xx-spi 10d20000.spi: PM: platform_pm_resume returned 0 after 19 usecs
[ 7915.596001][T29333] s3c64xx-spi 10d40000.spi: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.596353][T29333] s3c64xx-spi 10d40000.spi: PM: platform_pm_resume returned 0 after 17 usecs
[ 7915.596664][T29333] s3c64xx-spi 10d60000.spi: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.597035][T29333] s3c64xx-spi 10d60000.spi: PM: platform_pm_resume returned 0 after 17 usecs
[ 7915.597346][T29333] trusty-irq trusty:irq: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.597687][T29333] trusty-irq trusty:irq: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.598025][T29333] trusty-log trusty:log: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.598361][T29333] trusty-log trusty:log: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.598678][T29333] trusty-virtio trusty:virtio: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.599036][T29333] trusty-virtio trusty:virtio: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.599373][T29333] samsung,dma-heap-chunk trusty:video_stream_dma_heap: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.599811][T29333] samsung,dma-heap-chunk trusty:video_stream_dma_heap: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.600212][T29333] samsung,dma-heap-chunk trusty:video_frame_dma_heap: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.600663][T29333] samsung,dma-heap-chunk trusty:video_frame_dma_heap: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.601075][T29333] samsung,dma-heap-chunk trusty:video_scaler_dma_heap: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.601514][T29333] samsung,dma-heap-chunk trusty:video_scaler_dma_heap: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.601930][T29333] samsung,dma-heap-carveout trusty:tui_dma_heap: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.602349][T29333] samsung,dma-heap-carveout trusty:tui_dma_heap: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.602745][T29333] samsung,dma-heap-carveout trusty:mfc_fw_dma_heap: PM: calling platform_pm_resume @ 29333, parent: trusty
[ 7915.603174][T29333] samsung,dma-heap-carveout trusty:mfc_fw_dma_heap: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.603579][T29333] debug-kinfo debug-kinfo: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.603932][T29333] debug-kinfo debug-kinfo: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.604263][T29333] gsa-gsc 17c90000.gsa-ns:gsa_gsc@0: PM: calling platform_pm_resume @ 29333, parent: 17c90000.gsa-ns
[ 7915.604645][T29333] gsa-gsc 17c90000.gsa-ns:gsa_gsc@0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.605019][T29333] sscoredump debugcore: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.605362][T29333] sscoredump debugcore: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.605676][T29333] platform cs_funnel0: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.606001][T29333] platform cs_funnel0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.606311][T29333] platform cs_funnel1: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.606636][T29333] platform cs_funnel1: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.606946][T29333] platform cs_funnel2: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.607271][T29333] platform cs_funnel2: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.607581][T29333] platform cs_trex0: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.607900][T29333] platform cs_trex0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.608188][T29333] platform cs_trex1: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.608503][T29333] platform cs_trex1: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.608824][T29333] platform cs_trex2: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.609144][T29333] platform cs_trex2: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.609446][T29333] platform cs_trex3: PM: calling platform_pm_resume @ 29333, parent: none
[ 7915.609764][T29333] platform cs_trex3: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.610047][T29333] keycombo keycombo.0.auto: PM: calling platform_pm_resume @ 29333, parent: keydebug
[ 7915.610424][T29333] keycombo keycombo.0.auto: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.610761][T29333] gs101-devfreq 17000010.devfreq_mif: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.611140][T29333] gs101-devfreq 17000010.devfreq_mif: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.611502][T29333] gs101-devfreq 17000020.devfreq_int: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.611888][T29333] gs101-devfreq 17000020.devfreq_int: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.612239][T29333] gs101-devfreq 17000030.devfreq_intcam: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.612628][T29333] gs101-devfreq 17000030.devfreq_intcam: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.613018][T29333] gs101-devfreq 17000040.devfreq_disp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.613408][T29333] gs101-devfreq 17000040.devfreq_disp: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.613774][T29333] gs101-devfreq 17000050.devfreq_cam: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.614159][T29333] gs101-devfreq 17000050.devfreq_cam: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.614522][T29333] gs101-devfreq 17000060.devfreq_tnr: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.614908][T29333] gs101-devfreq 17000060.devfreq_tnr: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.615270][T29333] gs101-devfreq 17000070.devfreq_mfc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.615637][T29333] gs101-devfreq 17000070.devfreq_mfc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.616019][T29333] gs101-devfreq 17000080.devfreq_bo: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.616409][T29333] gs101-devfreq 17000080.devfreq_bo: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.616967][T29333] port 175b0000.serial:0.0: PM: calling pm_runtime_force_resume @ 29333, parent: 175b0000.serial:0
[ 7915.617147][T29333] port 175b0000.serial:0.0: PM: pm_runtime_force_resume returned 0 after 1 usecs
[ 7915.617507][T29333] port 10a00000.uart:0.0: PM: calling pm_runtime_force_resume @ 29333, parent: 10a00000.uart:0
[ 7915.617892][T29333] port 10a00000.uart:0.0: PM: pm_runtime_force_resume returned 0 after 1 usecs
[ 7915.618210][T29333] exyswd_rng exyswd_rng: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.618588][T29333] exyswd_rng exyswd_rng: PM: platform_pm_resume returned 0 after 15 usecs
[ 7915.618907][T29333] exynos-decon 1c300000.drmdecon: PM: calling decon_resume [exynos_drm] @ 29333, parent: platform
[ 7915.619292][T29333] exynos-decon 1c300000.drmdecon: PM: decon_resume [exynos_drm] returned 0 after 2 usecs
[ 7915.619661][T29333] exynos-decon 1c302000.drmdecon: PM: calling decon_resume [exynos_drm] @ 29333, parent: platform
[ 7915.620053][T29333] exynos-decon 1c302000.drmdecon: PM: decon_resume [exynos_drm] returned 0 after 1 usecs
[ 7915.620413][T29333] exynos-g2d 1c640000.g2d: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.620782][T29333] exynos-g2d 1c640000.g2d: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.621106][T29333] exynos-jpeg 1c700000.smfc: PM: calling smfc_resume [smfc] @ 29333, parent: platform
[ 7915.621464][T29333] exynos-jpeg 1c700000.smfc: PM: smfc_resume [smfc] returned 0 after 2 usecs
[ 7915.621795][T29333] lwis-ioreg 1a840000.lwis_g3aa: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.622166][T29333] lwis-ioreg 1a840000.lwis_g3aa: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.622509][T29333] lwis-ioreg 1ba40000.lwis_gdc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.622876][T29333] lwis-ioreg 1ba40000.lwis_gdc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.623217][T29333] lwis-ioreg 1ba60000.lwis_gdc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.623585][T29333] lwis-ioreg 1ba60000.lwis_gdc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.623926][T29333] lwis-ioreg 1ba80000.lwis_scsc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.624298][T29333] lwis-ioreg 1ba80000.lwis_scsc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.624641][T29333] lwis-ioreg 1aa40000.lwis_pdp: PM: calling lwis_ioreg_device_resume [lwis] @ 29333, parent: platform
[ 7915.625052][T29333] lwis-ioreg 1aa40000.lwis_pdp: PM: lwis_ioreg_device_resume [lwis] returned 0 after 1 usecs
[ 7915.625435][T29333] lwis-ioreg 1ac40000.lwis_ipp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.625803][T29333] lwis-ioreg 1ac40000.lwis_ipp: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.626143][T29333] lwis-ioreg 1ac80000.lwis_gtnr_align: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.626536][T29333] lwis-ioreg 1ac80000.lwis_gtnr_align: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.626899][T29333] lwis-ioreg 1b450000.lwis_itp: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.627267][T29333] lwis-ioreg 1b450000.lwis_itp: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.627610][T29333] lwis-ioreg 1b760000.lwis_mcsc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.627960][T29333] lwis-ioreg 1b760000.lwis_mcsc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.628345][T29333] s5p-mfc mfc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.628617][T29333] s5p-mfc mfc: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.628929][T29333] lwis-ioreg 1bc40000.lwis_gtnr_merge: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.629309][T29333] lwis-ioreg 1bc40000.lwis_gtnr_merge: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.629673][T29333] lwis-ioreg 1a4e0000.lwis_votf: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.630044][T29333] lwis-ioreg 1a4e0000.lwis_votf: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.630388][T29333] edgetpu_platform 1ce00000.abrolhos: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.630777][T29333] edgetpu_platform 1ce00000.abrolhos: PM: platform_pm_resume returned 0 after 3 usecs
[ 7915.631164][T29333] exynos-ufs 14700000.ufs: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.631514][T29333] exynos-ufs 14700000.ufs: PM: platform_pm_resume returned 0 after 27 usecs
[ 7915.631796][T29333] scsi host0: PM: calling scsi_bus_resume @ 29333, parent: 14700000.ufs
[ 7915.632113][T29333] scsi host0: PM: scsi_bus_resume returned 0 after 1 usecs
[ 7915.632381][T29333] scsi target0:0:0: PM: calling scsi_bus_resume @ 29333, parent: host0
[ 7915.632705][T29333] scsi target0:0:0: PM: scsi_bus_resume returned 0 after 1 usecs
[ 7915.632998][T29333] ufs_device_wlun 0:0:0:49488: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.633374][T29333] exynos-ufs 14700000.ufs: kdn: restoring keys
[ 7915.641557][T29333] exynos-ufs 14700000.ufs: kdn: programming keyslot 0 with 80-byte wrapped key
[ 7915.652689][T29333] exynos-ufs 14700000.ufs: kdn: programming keyslot 1 with 80-byte wrapped key
[ 7915.656645][T29333] exynos-ufs 14700000.ufs: kdn: programming keyslot 2 with 80-byte wrapped key
[ 7915.657373][T29333] exynos-ufs 14700000.ufs: kdn: programming keyslot 3 with 80-byte wrapped key
^C[ 7915.678918][T29333] exynos-ufs 14700000.ufs: PA_ActiveTxDataLanes(2), PA_ActiveRxDataLanes(2)
[ 7915.689798][T29333] ufs_device_wlun 0:0:0:49488: PM: scsi_bus_resume returned 0 after 56439 usecs
[ 7915.689961][T29333] scsi 0:0:0:49476: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.690111][T29333] scsi 0:0:0:49476: PM: scsi_bus_resume returned 0 after 3 usecs
[ 7915.690249][T29333] scsi 0:0:0:49456: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.690397][T29333] scsi 0:0:0:49456: PM: scsi_bus_resume returned 0 after 2 usecs
[ 7915.690548][T29333] sd 0:0:0:0: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.690868][T29333] sd 0:0:0:0: PM: scsi_bus_resume returned 0 after 3 usecs
[ 7915.691143][T29333] sd 0:0:0:1: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.691446][T29333] sd 0:0:0:1: PM: scsi_bus_resume returned 0 after 2 usecs
[ 7915.691725][T29333] sd 0:0:0:2: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.692025][T29333] sd 0:0:0:2: PM: scsi_bus_resume returned 0 after 2 usecs
[ 7915.692302][T29333] sd 0:0:0:3: PM: calling scsi_bus_resume @ 29333, parent: target0:0:0
[ 7915.692603][T29333] sd 0:0:0:3: PM: scsi_bus_resume returned 0 after 3 usecs
[ 7915.692998][T29333] input input1: PM: calling input_dev_resume @ 29333, parent: none
[ 7915.693146][T29333] input input1: PM: input_dev_resume returned 0 after 2 usecs
[ 7915.693453][T29333] st21nfc i2c-st21nfc: PM: calling st21nfc_resume [st21nfc] @ 29333, parent: i2c-7
[ 7915.693802][T29333] st21nfc i2c-st21nfc: PM: st21nfc_resume [st21nfc] returned 0 after 6 usecs
[ 7915.694134][T29333] at24 8-0050: PM: calling pm_runtime_force_resume @ 29333, parent: i2c-8
[ 7915.694445][T29333] at24 8-0050: PM: pm_runtime_force_resume returned 0 after 1 usecs
[ 7915.694765][T29333] google_mitigation google,mitigation: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.695136][T29333] google_mitigation google,mitigation: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.695499][T29333] pca9468 12-0057: PM: calling pca9468_resume [pca9468] @ 29333, parent: i2c-12
^C[ 7915.697185][T29333] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:43(0x10)AM
[ 7915.697329][T29333] pca9468 12-0057: PM: pca9468_resume [pca9468] returned 0 after 1492 usecs
[ 7915.697485][T29333] s2mpg10 i2c-s2mpg10: PM: calling s2mpg10_resume [s2mpg10_mfd] @ 29333, parent: i2c-20
[ 7915.697649][T29333] s2mpg10:s2mpg10_resume
[ 7915.697727][T29333] s2mpg10 i2c-s2mpg10: PM: s2mpg10_resume [s2mpg10_mfd] returned 0 after 79 usecs
[ 7915.697827][  T244] s2mpg10_irq_thread: interrupt source(0x01)
[ 7915.697889][T29333] s2mpg10-regulator s2mpg10-regulator: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg10
[ 7915.698215][  T244] s2mpg10_irq_thread: pmic interrupt(0x00, 0x0c, 0x00, 0x00, 0x00, 0x00)
[ 7915.698554][T29333] s2mpg10-regulator s2mpg10-regulator: PM: platform_pm_resume returned 0 after 76 usecs
[ 7915.698826][  T244] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_alarm_irq:irq(217)
[ 7915.699205][T29333] regulator regulator.3: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.699800][T29333] regulator regulator.3: PM: regulator_resume returned 0 after 2 usecs
[ 7915.700106][T29333] regulator regulator.4: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.700465][T29333] regulator regulator.4: PM: regulator_resume returned 0 after 2 usecs
[ 7915.700773][T29333] regulator regulator.5: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.700885][T28104] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:43(0x10)AM
[ 7915.701162][T29333] regulator regulator.5: PM: regulator_resume returned 0 after 23 usecs
[ 7915.701782][T29333] regulator regulator.6: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.702166][T29333] regulator regulator.6: PM: regulator_resume returned 0 after 1 usecs
[ 7915.702475][T29333] regulator regulator.7: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.702826][T29333] regulator regulator.7: PM: regulator_resume returned 0 after 2 usecs
[ 7915.702893][T28104] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_read_time: 2025-07-10 03:32:43(0x10)AM
[ 7915.703150][T29333] regulator regulator.8: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.703472][T28104] s2mpg10-rtc s2mpg10-rtc: s2m_rtc_set_alarm: 2025-07-10 03:32:50(0x10)AM
[ 7915.703839][T29333] regulator regulator.8: PM: regulator_resume returned 0 after 22 usecs
[ 7915.704459][T29333] regulator regulator.9: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.704843][T29333] regulator regulator.9: PM: regulator_resume returned 0 after 1 usecs
[ 7915.705152][T29333] regulator regulator.10: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.705524][T29333] regulator regulator.10: PM: regulator_resume returned 0 after 1 usecs
[ 7915.705819][T29333] regulator regulator.11: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.706210][T29333] regulator regulator.11: PM: regulator_resume returned 0 after 1 usecs
[ 7915.706522][T29333] regulator regulator.12: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.706895][T29333] regulator regulator.12: PM: regulator_resume returned 0 after 1 usecs
[ 7915.707189][T29333] regulator regulator.13: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.707580][T29333] regulator regulator.13: PM: regulator_resume returned 0 after 1 usecs
[ 7915.707893][T29333] regulator regulator.14: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.708267][T29333] regulator regulator.14: PM: regulator_resume returned 0 after 1 usecs
[ 7915.708578][T29333] regulator regulator.15: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.708950][T29333] regulator regulator.15: PM: regulator_resume returned 0 after 1 usecs
[ 7915.709263][T29333] regulator regulator.16: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.709635][T29333] regulator regulator.16: PM: regulator_resume returned 0 after 1 usecs
[ 7915.709948][T29333] regulator regulator.17: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.710321][T29333] regulator regulator.17: PM: regulator_resume returned 0 after 1 usecs
[ 7915.710633][T29333] regulator regulator.18: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.710987][T29333] regulator regulator.18: PM: regulator_resume returned 0 after 1 usecs
[ 7915.711318][T29333] regulator regulator.19: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.711691][T29333] regulator regulator.19: PM: regulator_resume returned 0 after 1 usecs
[ 7915.712004][T29333] regulator regulator.20: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.712378][T29333] regulator regulator.20: PM: regulator_resume returned 0 after 1 usecs
[ 7915.712689][T29333] regulator regulator.21: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.713062][T29333] regulator regulator.21: PM: regulator_resume returned 0 after 1 usecs
[ 7915.713374][T29333] regulator regulator.22: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.713746][T29333] regulator regulator.22: PM: regulator_resume returned 0 after 1 usecs
[ 7915.714059][T29333] regulator regulator.23: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.714431][T29333] regulator regulator.23: PM: regulator_resume returned 0 after 1 usecs
[ 7915.714744][T29333] regulator regulator.24: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.715117][T29333] regulator regulator.24: PM: regulator_resume returned 0 after 1 usecs
[ 7915.715429][T29333] regulator regulator.25: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.715802][T29333] regulator regulator.25: PM: regulator_resume returned 0 after 1 usecs
[ 7915.716098][T29333] regulator regulator.26: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.716469][T29333] regulator regulator.26: PM: regulator_resume returned 0 after 1 usecs
[ 7915.716799][T29333] regulator regulator.27: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.717172][T29333] regulator regulator.27: PM: regulator_resume returned 0 after 1 usecs
[ 7915.717485][T29333] regulator regulator.28: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.717857][T29333] regulator regulator.28: PM: regulator_resume returned 0 after 1 usecs
[ 7915.718170][T29333] regulator regulator.29: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.718542][T29333] regulator regulator.29: PM: regulator_resume returned 0 after 1 usecs
[ 7915.718855][T29333] regulator regulator.30: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.719227][T29333] regulator regulator.30: PM: regulator_resume returned 0 after 1 usecs
[ 7915.719540][T29333] regulator regulator.31: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.719913][T29333] regulator regulator.31: PM: regulator_resume returned 0 after 1 usecs
[ 7915.720208][T29333] regulator regulator.32: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.720598][T29333] regulator regulator.32: PM: regulator_resume returned 0 after 1 usecs
[ 7915.720911][T29333] regulator regulator.33: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.721283][T29333] regulator regulator.33: PM: regulator_resume returned 0 after 1 usecs
[ 7915.721577][T29333] regulator regulator.34: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.721969][T29333] regulator regulator.34: PM: regulator_resume returned 0 after 1 usecs
[ 7915.722281][T29333] regulator regulator.35: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.722654][T29333] regulator regulator.35: PM: regulator_resume returned 0 after 1 usecs
[ 7915.722966][T29333] regulator regulator.36: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.723339][T29333] regulator regulator.36: PM: regulator_resume returned 0 after 1 usecs
[ 7915.723651][T29333] regulator regulator.37: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.724022][T29333] regulator regulator.37: PM: regulator_resume returned 0 after 1 usecs
[ 7915.724318][T29333] regulator regulator.38: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.724709][T29333] regulator regulator.38: PM: regulator_resume returned 0 after 1 usecs
[ 7915.725021][T29333] regulator regulator.39: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.725394][T29333] regulator regulator.39: PM: regulator_resume returned 0 after 1 usecs
[ 7915.725707][T29333] regulator regulator.40: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.726079][T29333] regulator regulator.40: PM: regulator_resume returned 0 after 1 usecs
[ 7915.726392][T29333] regulator regulator.41: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.726764][T29333] regulator regulator.41: PM: regulator_resume returned 0 after 1 usecs
[ 7915.727077][T29333] regulator regulator.42: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.727450][T29333] regulator regulator.42: PM: regulator_resume returned 0 after 1 usecs
[ 7915.727762][T29333] regulator regulator.43: PM: calling regulator_resume @ 29333, parent: s2mpg10-regulator
[ 7915.728136][T29333] regulator regulator.43: PM: regulator_resume returned 0 after 0 usecs
[ 7915.728427][T29333] s2mpg10-rtc s2mpg10-rtc: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg10
[ 7915.728810][T29333] s2mpg10-rtc s2mpg10-rtc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.729134][T29333] rtc rtc0: PM: calling rtc_resume @ 29333, parent: s2mpg10-rtc
[ 7915.729419][T29333] rtc rtc0: PM: rtc_resume returned 0 after 2 usecs
[ 7915.729665][T29333] alarmtimer alarmtimer.1.auto: PM: calling platform_pm_resume @ 29333, parent: rtc0
[ 7915.730023][T29333] alarmtimer alarmtimer.1.auto: PM: platform_pm_resume returned 0 after 4 usecs
[ 7915.730360][T29333] s2mpg10-meter s2mpg10-meter: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg10
[ 7915.730736][T29333] s2mpg10-meter s2mpg10-meter: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.731072][T29333] odpm s2mpg10-odpm: PM: calling platform_pm_resume @ 29333, parent: s2mpg10-meter
[ 7915.732963][T29333] odpm s2mpg10-odpm: PM: platform_pm_resume returned 0 after 1543 usecs
[ 7915.733105][T29333] s2mpg1x_gpio s2mpg10_gpio: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg10
[ 7915.733267][T29333] s2mpg1x_gpio s2mpg10_gpio: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.733427][T29333] s2mpg11 i2c-s2mpg11: PM: calling s2mpg11_resume [s2mpg11_mfd] @ 29333, parent: i2c-21
[ 7915.733590][T29333] s2mpg11:s2mpg11_resume
[ 7915.733666][T29333] s2mpg11 i2c-s2mpg11: PM: s2mpg11_resume [s2mpg11_mfd] returned 0 after 77 usecs
[ 7915.734024][T29333] exynos-pcie-rc 11920000.pcie: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.734390][T29333] exynos-pcie-rc 11920000.pcie: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.734737][T29333] s2mpg11-regulator s2mpg11-regulator: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg11
[ 7915.735189][T29333] s2mpg11-regulator s2mpg11-regulator: PM: platform_pm_resume returned 0 after 58 usecs
[ 7915.735512][T29333] regulator regulator.44: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.735870][T29333] regulator regulator.44: PM: regulator_resume returned 0 after 1 usecs
[ 7915.736184][T29333] regulator regulator.45: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.736555][T29333] regulator regulator.45: PM: regulator_resume returned 0 after 1 usecs
[ 7915.736867][T29333] regulator regulator.46: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.737240][T29333] regulator regulator.46: PM: regulator_resume returned 0 after 1 usecs
[ 7915.737552][T29333] regulator regulator.47: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.737925][T29333] regulator regulator.47: PM: regulator_resume returned 0 after 1 usecs
[ 7915.738238][T29333] regulator regulator.48: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.738611][T29333] regulator regulator.48: PM: regulator_resume returned 0 after 1 usecs
[ 7915.738922][T29333] regulator regulator.49: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.739295][T29333] regulator regulator.49: PM: regulator_resume returned 0 after 1 usecs
[ 7915.739608][T29333] regulator regulator.50: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.739980][T29333] regulator regulator.50: PM: regulator_resume returned 0 after 1 usecs
[ 7915.740365][T29333] regulator regulator.51: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.740643][T29333] regulator regulator.51: PM: regulator_resume returned 0 after 1 usecs
[ 7915.740978][T29333] regulator regulator.52: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.741350][T29333] regulator regulator.52: PM: regulator_resume returned 0 after 1 usecs
[ 7915.741663][T29333] regulator regulator.53: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.742035][T29333] regulator regulator.53: PM: regulator_resume returned 0 after 1 usecs
[ 7915.742348][T29333] regulator regulator.54: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.742702][T29333] regulator regulator.54: PM: regulator_resume returned 0 after 1 usecs
[ 7915.743033][T29333] regulator regulator.55: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.743384][T29333] regulator regulator.55: PM: regulator_resume returned 0 after 1 usecs
[ 7915.743699][T29333] regulator regulator.56: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.744093][T29333] regulator regulator.56: PM: regulator_resume returned 0 after 2 usecs
[ 7915.744381][T29333] regulator regulator.57: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.744776][T29333] regulator regulator.57: PM: regulator_resume returned 0 after 1 usecs
[ 7915.745089][T29333] regulator regulator.58: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.745461][T29333] regulator regulator.58: PM: regulator_resume returned 0 after 1 usecs
[ 7915.745774][T29333] regulator regulator.59: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.746147][T29333] regulator regulator.59: PM: regulator_resume returned 0 after 1 usecs
[ 7915.746459][T29333] regulator regulator.60: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.746831][T29333] regulator regulator.60: PM: regulator_resume returned 0 after 1 usecs
[ 7915.747144][T29333] regulator regulator.61: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.747517][T29333] regulator regulator.61: PM: regulator_resume returned 0 after 1 usecs
[ 7915.747829][T29333] regulator regulator.62: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.748204][T29333] regulator regulator.62: PM: regulator_resume returned 0 after 2 usecs
[ 7915.748495][T29333] regulator regulator.63: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.748887][T29333] regulator regulator.63: PM: regulator_resume returned 0 after 1 usecs
[ 7915.749200][T29333] regulator regulator.64: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.749572][T29333] regulator regulator.64: PM: regulator_resume returned 0 after 1 usecs
[ 7915.749884][T29333] regulator regulator.65: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.750257][T29333] regulator regulator.65: PM: regulator_resume returned 0 after 1 usecs
[ 7915.750570][T29333] regulator regulator.66: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.750943][T29333] regulator regulator.66: PM: regulator_resume returned 0 after 1 usecs
[ 7915.751255][T29333] regulator regulator.67: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.751627][T29333] regulator regulator.67: PM: regulator_resume returned 0 after 1 usecs
[ 7915.751941][T29333] regulator regulator.68: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.752315][T29333] regulator regulator.68: PM: regulator_resume returned 0 after 1 usecs
[ 7915.752625][T29333] regulator regulator.69: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.752979][T29333] regulator regulator.69: PM: regulator_resume returned 0 after 1 usecs
[ 7915.753302][T29333] regulator regulator.70: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.753683][T29333] regulator regulator.70: PM: regulator_resume returned 0 after 1 usecs
[ 7915.753995][T29333] regulator regulator.71: PM: calling regulator_resume @ 29333, parent: s2mpg11-regulator
[ 7915.754368][T29333] regulator regulator.71: PM: regulator_resume returned 0 after 1 usecs
[ 7915.754682][T29333] s2mpg11-meter s2mpg11-meter: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg11
[ 7915.755056][T29333] s2mpg11-meter s2mpg11-meter: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.755393][T29333] odpm s2mpg11-odpm: PM: calling platform_pm_resume @ 29333, parent: s2mpg11-meter
^C[ 7915.757007][T29333] odpm s2mpg11-odpm: PM: platform_pm_resume returned 0 after 1285 usecs
[ 7915.757149][T29333] s2mpg1x_gpio s2mpg11_gpio: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg11
[ 7915.757311][T29333] s2mpg1x_gpio s2mpg11_gpio: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.757467][T29333] gs101-spmic-thermal gs101-spmic-thermal: PM: calling platform_pm_resume @ 29333, parent: i2c-s2mpg11
[ 7915.757649][T29333] gs101-spmic-thermal gs101-spmic-thermal: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.757998][T29333] mfc-core 1c8d0000.MFC-0: PM: calling platform_pm_resume @ 29333, parent: mfc
[ 7915.758325][T29333] mfc-core 1c8d0000.MFC-0: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.758647][T29333] sscoredump mfc-core: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.758986][T29333] sscoredump mfc-core: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.759326][T29333] arm-memlat-mon cpu0-cpugrp:cpu0-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu0-cpugrp
[ 7915.759734][T29333] arm-memlat-mon cpu0-cpugrp:cpu0-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.760135][T29333] arm-memlat-mon cpu1-cpugrp:cpu1-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu1-cpugrp
[ 7915.760553][T29333] arm-memlat-mon cpu1-cpugrp:cpu1-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.760971][T29333] arm-memlat-mon cpu2-cpugrp:cpu2-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu2-cpugrp
[ 7915.761410][T29333] arm-memlat-mon cpu2-cpugrp:cpu2-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.761810][T29333] arm-memlat-mon cpu3-cpugrp:cpu3-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu3-cpugrp
[ 7915.762249][T29333] arm-memlat-mon cpu3-cpugrp:cpu3-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.762647][T29333] arm-memlat-mon cpu4-cpugrp:cpu4-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu4-cpugrp
[ 7915.763086][T29333] arm-memlat-mon cpu4-cpugrp:cpu4-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.763486][T29333] arm-memlat-mon cpu5-cpugrp:cpu5-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu5-cpugrp
[ 7915.763905][T29333] arm-memlat-mon cpu5-cpugrp:cpu5-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.764326][T29333] arm-memlat-mon cpu6-cpugrp:cpu6-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu6-cpugrp
[ 7915.764744][T29333] arm-memlat-mon cpu6-cpugrp:cpu6-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.765161][T29333] arm-memlat-mon cpu7-cpugrp:cpu7-cpu-mif-latmon: PM: calling platform_pm_resume @ 29333, parent: cpu7-cpugrp
[ 7915.765601][T29333] arm-memlat-mon cpu7-cpugrp:cpu7-cpu-mif-latmon: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.766003][T29333] tui-driver tui-driver: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.766346][T29333] tui-driver tui-driver: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.766662][T29333] exynos-drm exynos-drm: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.767008][T29333] exynos-drm exynos-drm: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.767374][T29333] mali 1c500000.mali: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.768107][T29333] mali 1c500000.mali: PM: platform_pm_resume returned 0 after 446 usecs
[ 7915.768290][T29333] audiometrics audiometrics: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.768452][T29333] audiometrics audiometrics: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.768652][T29333] aoc 19000000.aoc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.769014][T29333] aoc 19000000.aoc: PM: platform_pm_resume returned 0 after 24 usecs
[ 7915.769332][T29333] sscoredump aoc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.769616][T29333] sscoredump aoc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.769920][T29333] sscoredump bigocean: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.770247][T29333] sscoredump bigocean: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.770589][T29333] pcieport 0000:00:00.0: PM: calling pci_pm_resume @ 29333, parent: pci0000:00
[ 7915.770930][T29333] pcieport 0000:00:00.0: PM: pci_pm_resume returned 0 after 39 usecs
[ 7915.771204][T29333] exynos-pcie-rc 14520000.pcie: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.771564][T29333] exynos-pcie-rc 14520000.pcie: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.772094][T29333] pcieport 0001:00:00.0: PM: calling pci_pm_resume @ 29333, parent: pci0001:00
[ 7915.772280][T29333] pcieport 0001:00:00.0: PM: pci_pm_resume returned 0 after 38 usecs
[ 7915.772553][T29333] pixel-em pixel-em: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.772875][T29333] pixel-em pixel-em: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.773179][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.773689][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.774174][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.774684][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.775168][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.775679][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.776187][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.776655][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.777158][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.777668][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.778152][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.778662][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.779147][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.779656][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.780123][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.780651][T29333] gs101-memlat-devfreq gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.781171][T29333] google,charger google,charger: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.781511][T29333] google,charger google,charger: PM: platform_pm_resume returned 0 after 7 usecs
[ 7915.781848][T29333] google_cpm google,cpm: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.782196][T29333] google_cpm google,cpm: PM: platform_pm_resume returned 0 after 3 usecs
[ 7915.782512][T29333] phy_exynos_usbdrd 11100000.phy: PM: calling exynos_usbdrd_phy_resume [phy_exynos_usbdrd_super] @ 29333, parent: platform
[ 7915.782993][T29333] phy_exynos_usbdrd 11100000.phy: exynos_usbdrd_phy_resume, is_conn = 0
[ 7915.783304][T29333] phy_exynos_usbdrd 11100000.phy: PM: exynos_usbdrd_phy_resume [phy_exynos_usbdrd_super] returned 0 after 312 usecs
[ 7915.783775][T29333] exynos-dwc3 11110000.usb: PM: calling dwc3_exynos_resume [dwc3_exynos_usb] @ 29333, parent: platform
[ 7915.784212][T29333] exynos-dwc3 11110000.usb: PM: dwc3_exynos_resume [dwc3_exynos_usb] returned 0 after 13 usecs
[ 7915.784595][T29333] platform usb_phy_generic.2.auto: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.784993][T29333] platform usb_phy_generic.2.auto: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.785320][T29333] platform usb_phy_generic.3.auto: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.785708][T29333] platform usb_phy_generic.3.auto: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.786050][T29333] dwc3 11110000.dwc3: PM: calling platform_pm_resume @ 29333, parent: 11110000.usb
[ 7915.786423][T29333] exynos_usbdrd_utmi_init: +++
[ 7915.786799][T28194] google_charger: usbchg=USB typec=C usbv=5175 usbc=0 usbMv=5000 usbMc=100
^C[ 7915.788849][T29333] exynos_usbdrd_utmi_init: ---
[ 7915.789006][T28194] google_battery: MSC_DIN chg_state=64111e01030011 f=0x11 chg_s=Not Charging chg_t=N/A vchg=4382 icl=100
[ 7915.790118][T28194] google_battery: MSC_VOTE msc_state=2 cv_cnt=3 ov_cnt=0 rl_sts=-1 temp_idx:2, vbatt_idx:2  fv_uv=4450000 cc_max=0 update_interval=-1
[ 7915.799090][T29333] phy_exynos_usbdp_g2_v4_enable: reg000:00000000a3828fb9, reg0001:000000008f9c4596
^C^C^C[ 7915.910328][T29333] dwc3 11110000.dwc3: PM: platform_pm_resume returned 0 after 123913 usecs
[ 7915.910489][T29333] google,usbc_port_cooling_dev google,usbc_port_cooling_dev: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.910715][T29333] google,usbc_port_cooling_dev google,usbc_port_cooling_dev: PM: platform_pm_resume returned 0 after 3 usecs
[ 7915.910928][T29333] platform regulatory.0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.911084][T29333] platform regulatory.0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.911402][T29333] slg51000-regulator slg51000-regulator: PM: calling platform_pm_resume @ 29333, parent: 7-0075
[ 7915.911794][T29333] slg51000-regulator slg51000-regulator: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.912154][T29333] regulator regulator.72: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.912477][T29333] regulator regulator.72: PM: regulator_resume returned 0 after 2 usecs
[ 7915.912811][T29333] regulator regulator.73: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.913148][T29333] regulator regulator.73: PM: regulator_resume returned 0 after 2 usecs
[ 7915.913459][T29333] regulator regulator.74: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.913795][T29333] regulator regulator.74: PM: regulator_resume returned 0 after 1 usecs
[ 7915.914107][T29333] regulator regulator.75: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.914444][T29333] regulator regulator.75: PM: regulator_resume returned 0 after 1 usecs
[ 7915.914756][T29333] regulator regulator.76: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.915092][T29333] regulator regulator.76: PM: regulator_resume returned 0 after 1 usecs
[ 7915.915405][T29333] regulator regulator.77: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.915741][T29333] regulator regulator.77: PM: regulator_resume returned 0 after 1 usecs
[ 7915.916056][T29333] regulator regulator.78: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.916389][T29333] regulator regulator.78: PM: regulator_resume returned 0 after 1 usecs
[ 7915.916702][T29333] regulator regulator.79: PM: calling regulator_resume @ 29333, parent: 7-0075
[ 7915.917038][T29333] regulator regulator.79: PM: regulator_resume returned 0 after 1 usecs
[ 7915.917351][T29333] platform slg51000_gpio: PM: calling platform_pm_resume @ 29333, parent: 7-0075
[ 7915.917693][T29333] platform slg51000_gpio: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.918013][T29333] platform sensor@0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.918345][T29333] platform sensor@0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.918648][T29333] platform sensor@1: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.918980][T29333] platform sensor@1: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.919284][T29333] platform sensor@2: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.919615][T29333] platform sensor@2: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.919919][T29333] stmvl53l1 1-0029: PM: calling stmvl53l1_resume [stmvl53l1] @ 29333, parent: i2c-1
[ 7915.920273][T29333] stmvl53l1 1-0029: PM: stmvl53l1_resume [stmvl53l1] returned 0 after 1 usecs
[ 7915.920584][T29333] input input2: PM: calling input_dev_resume @ 29333, parent: none
[ 7915.920900][T29333] input input2: PM: input_dev_resume returned 0 after 1 usecs
[ 7915.921186][T29333] lwis-ioreg 1a440000.lwis_csi: PM: calling lwis_ioreg_device_resume [lwis] @ 29333, parent: platform
[ 7915.921592][T29333] lwis-ioreg 1a440000.lwis_csi: PM: lwis_ioreg_device_resume [lwis] returned 0 after 1 usecs
[ 7915.921993][T29333] lwis-i2c eeprom@0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.922306][T29333] lwis-i2c eeprom@0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.922612][T29333] lwis-i2c eeprom@1: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.922923][T29333] lwis-i2c eeprom@1: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.923247][T29333] lwis-i2c eeprom@2: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.923577][T29333] lwis-i2c eeprom@2: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.923883][T29333] lwis-i2c actuator@0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.924220][T29333] lwis-i2c actuator@0: PM: platform_pm_resume returned 0 after 2 usecs
[ 7915.924512][T29333] lwis-i2c ois@0: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.924850][T29333] lwis-i2c ois@0: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.925157][T29333] cs40l2x i2c-c240l2x: PM: calling cs40l2x_sys_resume [haptics_cs40l2x] @ 29333, parent: i2c-8
[ 7915.925534][T29333] cs40l2x i2c-c240l2x: PM: cs40l2x_sys_resume [haptics_cs40l2x] returned 0 after 3 usecs
[ 7915.925904][T29333] cs40l2x-codec cs40l2x-codec.4.auto: PM: calling platform_pm_resume @ 29333, parent: i2c-c240l2x
[ 7915.926300][T29333] cs40l2x-codec cs40l2x-codec.4.auto: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.926662][T29333] rfkill rfkill0: PM: calling rfkill_resume [rfkill] @ 29333, parent: odm:btbcm
[ 7915.927000][T29333] rfkill rfkill0: PM: rfkill_resume [rfkill] returned 0 after 2 usecs
[ 7915.927307][T29333] exynos-dsim 1c2c0000.drmdsim: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.927674][T29333] exynos-dsim 1c2c0000.drmdsim: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.928015][T29333] panel-samsung-s6e3fc3 1c2c0000.drmdsim.0: PM: calling pm_generic_resume @ 29333, parent: 1c2c0000.drmdsim
[ 7915.928448][T29333] panel-samsung-s6e3fc3 1c2c0000.drmdsim.0: PM: pm_generic_resume returned 0 after 2 usecs
[ 7915.928805][T29333] backlight panel0-backlight: PM: calling backlight_resume @ 29333, parent: 1c2c0000.drmdsim.0
[ 7915.929212][T29333] backlight panel0-backlight: PM: backlight_resume returned 0 after 2 usecs
[ 7915.929539][T29333] leds vibrator: PM: calling led_resume @ 29333, parent: i2c-c240l2x
[ 7915.929841][T29333] leds vibrator: PM: led_resume returned 0 after 2 usecs
[ 7915.930110][T29333] sscoredump wlan: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.930428][T29333] sscoredump wlan: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.930729][T29333] pcieh 0001:01:00.0: PM: calling pci_pm_resume @ 29333, parent: 0001:00:00.0
[ 7915.932158][T29333] exynos-pcie-rc 14520000.pcie: AFC cal mode set to restart
[ 7915.941948][T29333] exynos-pcie-rc 14520000.pcie: exynos_pcie_rc_establish_link: Set PERST to logical 0, gpio(99) val=(0)
^C[ 7915.964590][T29333] logbuffer_pcie1: [  365] D state: 0, LTSSM: 0
[ 7915.964811][T29333] logbuffer_pcie1: [  366] L0(0x11)
[ 7915.968015][T29333] pcieh 0001:01:00.0: enabling device (0000 -> 0002)
[ 7915.968312][T29333] [03:32:43.788271][dhd][wlan]dhd_plat_l1ss_ctrl: Control L1ss RC side 1 ret:0
[ 7915.968601][T29333] pcieh 0001:01:00.0: PM: pci_pm_resume returned 0 after 37546 usecs
[ 7915.968751][T29333] ieee80211 phy0: PM: calling wiphy_resume [cfg80211] @ 29333, parent: none
[ 7915.968968][T29333] ieee80211 phy0: PM: wiphy_resume [cfg80211] returned 0 after 13 usecs
[ 7915.969150][T29333] rfkill rfkill1: PM: calling rfkill_resume [rfkill] @ 29333, parent: phy0
[ 7915.969304][T29333] rfkill rfkill1: PM: rfkill_resume [rfkill] returned 0 after 7 usecs
[ 7915.969443][T29333] rfkill rfkill2: PM: calling rfkill_resume [rfkill] @ 29333, parent: none
[ 7915.969726][T29333] rfkill rfkill2: PM: rfkill_resume [rfkill] returned 0 after 4 usecs
[ 7915.970036][T29333] fts spi11.0: PM: calling fts_pm_resume [ftm5] @ 29333, parent: spi11
[ 7915.970339][T29333] fts spi11.0: PM: fts_pm_resume [ftm5] returned 0 after 1 usecs
[ 7915.970629][T29333] input input3: PM: calling input_dev_resume @ 29333, parent: spi11.0
[ 7915.970934][T29333] input input3: PM: input_dev_resume returned 0 after 2 usecs
[ 7915.971276][T29333] aoc_uwb_pdrv aoc_gpiochip: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.971572][T29333] aoc_uwb_pdrv aoc_gpiochip: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.972007][T29333] google-aoc-snd-card sound-aoc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.972273][T29333] google-aoc-snd-card sound-aoc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.972795][T29333] s51xx 0000:01:00.0: PM: calling pci_pm_resume @ 29333, parent: 0000:00:00.0
[ 7915.972944][T29333] s51xx 0000:01:00.0: PM: pci_pm_resume returned 0 after 1 usecs
[ 7915.973249][T29333] platform dbgdev-pd-hsi2: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.973591][T29333] platform dbgdev-pd-hsi2: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.973913][T29333] platform dbgdev-pd-aoc: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.974263][T29333] platform dbgdev-pd-aoc: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.974582][T29333] platform dbgdev-pd-bus1: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.974934][T29333] platform dbgdev-pd-bus1: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.975258][T29333] platform dbgdev-pd-bus2: PM: calling platform_pm_resume @ 29333, parent: platform
[ 7915.975610][T29333] platform dbgdev-pd-bus2: PM: platform_pm_resume returned 0 after 1 usecs
[ 7915.975914][T29333] PM: resume of devices complete after 430.625 msecs
^C[ 7915.977715][T29333] exynos-pcie-rc 11920000.pcie: Default must_resume value : 0
[ 7915.980813][T29333] OOM killer enabled.
[ 7915.980885][T29333] Restarting tasks: Starting
[ 7915.981098][T29299] exynos5-hsi2c 10d50000.hsi2c: tudor: exynos5_i2c_runtime_suspend enter
[ 7915.981246][T29299] exynos5-hsi2c 10d50000.hsi2c: tudor: exynos5_i2c_runtime_suspend exit
[ 7915.986707][ T1005] s3c2410-wdt 10070000.watchdog_cl1: Watchdog cluster 1 keepalive!, old_wtcnt = fc1d, wtcnt = ffaf
[ 7915.994666][ T1085] dwc3 11110000.dwc3: request 00000000c350878f was not queued to ep0out
[ 7915.995020][T28194] google,charger google,charger: chg_psy_changed name=usb evt=0
[ 7915.995208][T29333] Restarting tasks: Done
[ 7915.995815][T29333] [03:32:43.815772][dhd][wlan]dhd_pm_callback action: 4
[ 7915.998042][ T1085] read descriptors
[ 7915.998110][ T1085] bcdVersion must be 0x0100, stored in Little Endian order. Userspace driver should be fixed, accepting 0x0001 for compatibility.
[ 7915.998446][ T1085] bcdVersion must be 0x0100, stored in Little Endian order. Userspace driver should be fixed, accepting 0x0001 for compatibility.
[ 7915.998683][T27196] google_charger: usbchg=USB typec=C usbv=5175 usbc=0 usbMv=5000 usbMc=100
[ 7915.998965][ T1085] read strings
[ 7916.002015][  T912] healthd: battery l=100 v=4382 t=30.1 h=2 st=5 c=-298750 fc=4460000 cc=43 chg=u
[ 7916.002141][T29333] Resume caused by IRQ 217, rtc-alarm0
[ 7916.002257][T29333] PM: suspend exit 2025-07-10 03:32:43.822217078 UTC
[ 7916.002435][T29333] cpif: s5100_pm_notifier: Resume done
[ 7916.002924][T27196] google_battery: MSC_DIN chg_state=64111e01030011 f=0x11 chg_s=Not Charging chg_t=N/A vchg=4382 icl=100
[ 7916.003775][T27196] google_battery: MSC_VOTE msc_state=2 cv_cnt=3 ov_cnt=0 rl_sts=-1 temp_idx:2, vbatt_idx:2  fv_uv=4450000 cc_max=0 update_interval=-1
[ 7916.004413][T29333] PM: suspend exit


^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-11 13:08   ` Tudor Ambarus
@ 2025-07-11 13:38     ` Rafael J. Wysocki
  2025-07-11 13:54       ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-07-11 13:38 UTC (permalink / raw)
  To: Tudor Ambarus
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Manivannan Sadhasivam, Jon Hunter, Saravana Kannan,
	William McVicker, Peter Griffin, André Draszik

On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
>
>
> Hi, Rafael,
>
> On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > According to [1], the handling of device suspend and resume, and
> > particularly the latter, involves unnecessary overhead related to
> > starting new async work items for devices that cannot make progress
> > right away because they have to wait for other devices.
> >
> > To reduce this problem in the resume path, use the observation that
> > starting the async resume of the children of a device after resuming
> > the parent is likely to produce less scheduling and memory management
> > noise than starting it upfront while at the same time it should not
> > increase the resume duration substantially.
> >
> > Accordingly, modify the code to start the async resume of the device's
> > children when the processing of the parent has been completed in each
> > stage of device resume and only start async resume upfront for devices
> > without parents.
> >
> > Also make it check if a given device can be resumed asynchronously
> > before starting the synchronous resume of it in case it will have to
> > wait for another that is already resuming asynchronously.
> >
> > In addition to making the async resume of devices more friendly to
> > systems with relatively less computing resources, this change is also
> > preliminary for analogous changes in the suspend path.
> >
> > On the systems where it has been tested, this change by itself does
> > not affect the overall system resume duration in a measurable way.
> >
> > Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> > Suggested-by: Saravana Kannan <saravanak@google.com>
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> I'd like to let you know of a suspend crash that I'm dealing with
> when using the OOT pixel6 drivers on top of v6.16-rc4.

Well, thanks, but there's not much I can do about it.

It is also better to start a new thread in such cases than to reply to
a patch submission.

> Similar to what Jon reported, everything gets back to normal if
> I disable pm_async or if I revert the following patches:
> 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
> aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
> 0cbef962ce1f PM: sleep: Resume children after resuming the parent
>
> I also reverted their fixes when testing:
> 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
> d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
> 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
>
> It seems that the hang happens in dpm_suspend() at
> async_synchronize_full() time after a driver fails to suspend.
> The phone then naturally resets with an APC watchdog.
>
> [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
> [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
> [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
>
> The extra prints are because of:
> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> index d9d4fc58bc5a..3efe538c2ec2 100644
> --- a/drivers/base/power/main.c
> +++ b/drivers/base/power/main.c
> @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
>                         break;
>                 }
>         }
> +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
> +              __func__, list_empty(&dpm_prepared_list));
>
>         mutex_unlock(&dpm_list_mtx);
>
> +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
>         async_synchronize_full();
> +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> +
>         if (!error)
>                 error = async_error;
>
> The synchronous suspend works because its strict, one-by-one ordering
> ensures that device dependencies are met and that no device is suspended
> while another is still using it. The asynchronous suspend fails because
> it creates a race condition where the lwis-eeprom-m24c64x is called for
> suspension before the process using it has been suspended, leading to a
> fatal "device busy" error. Should the failure of a device suspend be
> fatal?

It shouldn't in principle, but it depends on what exactly is involved and how.

It looks like something is blocking on power.completion somewhere.
I'll check the code, maybe a complete() is missing in an error path or
similar.

Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-11 13:38     ` Rafael J. Wysocki
@ 2025-07-11 13:54       ` Rafael J. Wysocki
  2025-07-11 18:30         ` Saravana Kannan
  2025-07-12  7:54         ` Rafael J. Wysocki
  0 siblings, 2 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-07-11 13:54 UTC (permalink / raw)
  To: Tudor Ambarus
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Jon Hunter, Saravana Kannan, William McVicker,
	Peter Griffin, André Draszik

On Fri, Jul 11, 2025 at 3:38 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
> >
> >
> > Hi, Rafael,
> >
> > On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> > > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > >
> > > According to [1], the handling of device suspend and resume, and
> > > particularly the latter, involves unnecessary overhead related to
> > > starting new async work items for devices that cannot make progress
> > > right away because they have to wait for other devices.
> > >
> > > To reduce this problem in the resume path, use the observation that
> > > starting the async resume of the children of a device after resuming
> > > the parent is likely to produce less scheduling and memory management
> > > noise than starting it upfront while at the same time it should not
> > > increase the resume duration substantially.
> > >
> > > Accordingly, modify the code to start the async resume of the device's
> > > children when the processing of the parent has been completed in each
> > > stage of device resume and only start async resume upfront for devices
> > > without parents.
> > >
> > > Also make it check if a given device can be resumed asynchronously
> > > before starting the synchronous resume of it in case it will have to
> > > wait for another that is already resuming asynchronously.
> > >
> > > In addition to making the async resume of devices more friendly to
> > > systems with relatively less computing resources, this change is also
> > > preliminary for analogous changes in the suspend path.
> > >
> > > On the systems where it has been tested, this change by itself does
> > > not affect the overall system resume duration in a measurable way.
> > >
> > > Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> > > Suggested-by: Saravana Kannan <saravanak@google.com>
> > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > I'd like to let you know of a suspend crash that I'm dealing with
> > when using the OOT pixel6 drivers on top of v6.16-rc4.
>
> Well, thanks, but there's not much I can do about it.
>
> It is also better to start a new thread in such cases than to reply to
> a patch submission.
>
> > Similar to what Jon reported, everything gets back to normal if
> > I disable pm_async or if I revert the following patches:
> > 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
> > aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
> > 0cbef962ce1f PM: sleep: Resume children after resuming the parent
> >
> > I also reverted their fixes when testing:
> > 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
> > d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
> > 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
> >
> > It seems that the hang happens in dpm_suspend() at
> > async_synchronize_full() time after a driver fails to suspend.
> > The phone then naturally resets with an APC watchdog.
> >
> > [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> > [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> > [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
> > [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> > [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
> > [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
> >
> > The extra prints are because of:
> > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> > index d9d4fc58bc5a..3efe538c2ec2 100644
> > --- a/drivers/base/power/main.c
> > +++ b/drivers/base/power/main.c
> > @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
> >                         break;
> >                 }
> >         }
> > +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
> > +              __func__, list_empty(&dpm_prepared_list));
> >
> >         mutex_unlock(&dpm_list_mtx);
> >
> > +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
> >         async_synchronize_full();
> > +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> > +
> >         if (!error)
> >                 error = async_error;
> >
> > The synchronous suspend works because its strict, one-by-one ordering
> > ensures that device dependencies are met and that no device is suspended
> > while another is still using it. The asynchronous suspend fails because
> > it creates a race condition where the lwis-eeprom-m24c64x is called for
> > suspension before the process using it has been suspended, leading to a
> > fatal "device busy" error. Should the failure of a device suspend be
> > fatal?
>
> It shouldn't in principle, but it depends on what exactly is involved and how.
>
> It looks like something is blocking on power.completion somewhere.
> I'll check the code, maybe a complete() is missing in an error path or
> similar.

It doesn't look like anything is missing in the core, so the suspend
failure seems to be triggering a deadlock of some sort.

The remedy should be the same as usual in such cases: Find the device
that is marked as "async" incorrectly and make it "sync".

Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-11 13:54       ` Rafael J. Wysocki
@ 2025-07-11 18:30         ` Saravana Kannan
  2025-07-12  7:57           ` Rafael J. Wysocki
  2025-07-12  7:54         ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Saravana Kannan @ 2025-07-11 18:30 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Tudor Ambarus, Rafael J. Wysocki, Linux PM, LKML, Alan Stern,
	Ulf Hansson, Johan Hovold, Jon Hunter, William McVicker,
	Peter Griffin, André Draszik

On Fri, Jul 11, 2025 at 6:54 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Fri, Jul 11, 2025 at 3:38 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
> > >
> > >
> > > Hi, Rafael,
> > >
> > > On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> > > > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > >
> > > > According to [1], the handling of device suspend and resume, and
> > > > particularly the latter, involves unnecessary overhead related to
> > > > starting new async work items for devices that cannot make progress
> > > > right away because they have to wait for other devices.
> > > >
> > > > To reduce this problem in the resume path, use the observation that
> > > > starting the async resume of the children of a device after resuming
> > > > the parent is likely to produce less scheduling and memory management
> > > > noise than starting it upfront while at the same time it should not
> > > > increase the resume duration substantially.
> > > >
> > > > Accordingly, modify the code to start the async resume of the device's
> > > > children when the processing of the parent has been completed in each
> > > > stage of device resume and only start async resume upfront for devices
> > > > without parents.
> > > >
> > > > Also make it check if a given device can be resumed asynchronously
> > > > before starting the synchronous resume of it in case it will have to
> > > > wait for another that is already resuming asynchronously.
> > > >
> > > > In addition to making the async resume of devices more friendly to
> > > > systems with relatively less computing resources, this change is also
> > > > preliminary for analogous changes in the suspend path.
> > > >
> > > > On the systems where it has been tested, this change by itself does
> > > > not affect the overall system resume duration in a measurable way.
> > > >
> > > > Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> > > > Suggested-by: Saravana Kannan <saravanak@google.com>
> > > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > >
> > > I'd like to let you know of a suspend crash that I'm dealing with
> > > when using the OOT pixel6 drivers on top of v6.16-rc4.
> >
> > Well, thanks, but there's not much I can do about it.
> >
> > It is also better to start a new thread in such cases than to reply to
> > a patch submission.
> >
> > > Similar to what Jon reported, everything gets back to normal if
> > > I disable pm_async or if I revert the following patches:
> > > 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
> > > aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
> > > 0cbef962ce1f PM: sleep: Resume children after resuming the parent
> > >
> > > I also reverted their fixes when testing:
> > > 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
> > > d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
> > > 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
> > >
> > > It seems that the hang happens in dpm_suspend() at
> > > async_synchronize_full() time after a driver fails to suspend.
> > > The phone then naturally resets with an APC watchdog.
> > >
> > > [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> > > [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> > > [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
> > > [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> > > [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
> > > [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
> > >
> > > The extra prints are because of:
> > > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> > > index d9d4fc58bc5a..3efe538c2ec2 100644
> > > --- a/drivers/base/power/main.c
> > > +++ b/drivers/base/power/main.c
> > > @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
> > >                         break;
> > >                 }
> > >         }
> > > +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
> > > +              __func__, list_empty(&dpm_prepared_list));
> > >
> > >         mutex_unlock(&dpm_list_mtx);
> > >
> > > +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
> > >         async_synchronize_full();
> > > +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> > > +
> > >         if (!error)
> > >                 error = async_error;
> > >
> > > The synchronous suspend works because its strict, one-by-one ordering
> > > ensures that device dependencies are met and that no device is suspended
> > > while another is still using it. The asynchronous suspend fails because
> > > it creates a race condition where the lwis-eeprom-m24c64x is called for
> > > suspension before the process using it has been suspended, leading to a
> > > fatal "device busy" error. Should the failure of a device suspend be
> > > fatal?
> >
> > It shouldn't in principle, but it depends on what exactly is involved and how.
> >
> > It looks like something is blocking on power.completion somewhere.
> > I'll check the code, maybe a complete() is missing in an error path or
> > similar.
>
> It doesn't look like anything is missing in the core, so the suspend
> failure seems to be triggering a deadlock of some sort.
>
> The remedy should be the same as usual in such cases: Find the device
> that is marked as "async" incorrectly and make it "sync".
>

I'm very behind on this thread, but the patches I sent out were well
tested on Pixel 6 OOT drivers and didn't cause any issues. So I think
the rewrite is missing some condition my patches accounted for.

Also, comment on some questions earlier in the thread, fw_devlink=on
ensures none of the device links have any circular dependencies (as
does the device_link_add()) API itself. So, there shouldn't be any
cyclic dependencies. The only cycles that fw_devlink creates are
SYNC_STATE_ONLY device links that are deleted as soon as a consumer
probes.

Also, people facing cyclic dependency issues, if fw_devlink is not
discarding the "bad" link in the cycle, you can give it extra info in
DT if you use post-init-providers. Please try that out.

-Saravana

-Saravana

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-11 13:54       ` Rafael J. Wysocki
  2025-07-11 18:30         ` Saravana Kannan
@ 2025-07-12  7:54         ` Rafael J. Wysocki
  2025-07-14  7:09           ` Tudor Ambarus
  1 sibling, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-07-12  7:54 UTC (permalink / raw)
  To: Tudor Ambarus
  Cc: Linux PM, LKML, Alan Stern, Ulf Hansson, Johan Hovold, Jon Hunter,
	Saravana Kannan, William McVicker, Peter Griffin,
	André Draszik

On Friday, July 11, 2025 3:54:00 PM CEST Rafael J. Wysocki wrote:
> On Fri, Jul 11, 2025 at 3:38 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
> > >
> > >
> > > Hi, Rafael,
> > >
> > > On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> > > > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > >
> > > > According to [1], the handling of device suspend and resume, and
> > > > particularly the latter, involves unnecessary overhead related to
> > > > starting new async work items for devices that cannot make progress
> > > > right away because they have to wait for other devices.
> > > >
> > > > To reduce this problem in the resume path, use the observation that
> > > > starting the async resume of the children of a device after resuming
> > > > the parent is likely to produce less scheduling and memory management
> > > > noise than starting it upfront while at the same time it should not
> > > > increase the resume duration substantially.
> > > >
> > > > Accordingly, modify the code to start the async resume of the device's
> > > > children when the processing of the parent has been completed in each
> > > > stage of device resume and only start async resume upfront for devices
> > > > without parents.
> > > >
> > > > Also make it check if a given device can be resumed asynchronously
> > > > before starting the synchronous resume of it in case it will have to
> > > > wait for another that is already resuming asynchronously.
> > > >
> > > > In addition to making the async resume of devices more friendly to
> > > > systems with relatively less computing resources, this change is also
> > > > preliminary for analogous changes in the suspend path.
> > > >
> > > > On the systems where it has been tested, this change by itself does
> > > > not affect the overall system resume duration in a measurable way.
> > > >
> > > > Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> > > > Suggested-by: Saravana Kannan <saravanak@google.com>
> > > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > >
> > > I'd like to let you know of a suspend crash that I'm dealing with
> > > when using the OOT pixel6 drivers on top of v6.16-rc4.
> >
> > Well, thanks, but there's not much I can do about it.
> >
> > It is also better to start a new thread in such cases than to reply to
> > a patch submission.
> >
> > > Similar to what Jon reported, everything gets back to normal if
> > > I disable pm_async or if I revert the following patches:
> > > 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
> > > aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
> > > 0cbef962ce1f PM: sleep: Resume children after resuming the parent
> > >
> > > I also reverted their fixes when testing:
> > > 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
> > > d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
> > > 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
> > >
> > > It seems that the hang happens in dpm_suspend() at
> > > async_synchronize_full() time after a driver fails to suspend.
> > > The phone then naturally resets with an APC watchdog.
> > >
> > > [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> > > [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> > > [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
> > > [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> > > [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
> > > [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
> > >
> > > The extra prints are because of:
> > > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> > > index d9d4fc58bc5a..3efe538c2ec2 100644
> > > --- a/drivers/base/power/main.c
> > > +++ b/drivers/base/power/main.c
> > > @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
> > >                         break;
> > >                 }
> > >         }
> > > +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
> > > +              __func__, list_empty(&dpm_prepared_list));
> > >
> > >         mutex_unlock(&dpm_list_mtx);
> > >
> > > +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
> > >         async_synchronize_full();
> > > +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> > > +
> > >         if (!error)
> > >                 error = async_error;
> > >
> > > The synchronous suspend works because its strict, one-by-one ordering
> > > ensures that device dependencies are met and that no device is suspended
> > > while another is still using it. The asynchronous suspend fails because
> > > it creates a race condition where the lwis-eeprom-m24c64x is called for
> > > suspension before the process using it has been suspended, leading to a
> > > fatal "device busy" error. Should the failure of a device suspend be
> > > fatal?
> >
> > It shouldn't in principle, but it depends on what exactly is involved and how.
> >
> > It looks like something is blocking on power.completion somewhere.
> > I'll check the code, maybe a complete() is missing in an error path or
> > similar.
> 
> It doesn't look like anything is missing in the core, so the suspend
> failure seems to be triggering a deadlock of some sort.

Well, I'm taking this back.

The following scenario definitely can happen:

1. Device A is async and it depends on device B that is sync.
2. Async suspend is scheduled for A before the processing of B is started.
3. A is waiting for B.
4. In the meantime, an unrelated device fails to suspend and returns an error.
5. The processing of B doesn't start at all and its power.completion is not
   updated.
6. A is still waiting for B when async_synchronize_full() is called.
7. Deadlock ensues.

If this is what happens in your case, the (untested) patch below should help
(unless I messed it up, that is).

---
 drivers/base/power/main.c |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1323,6 +1323,22 @@
 	device_links_read_unlock(idx);
 }
 
+static void dpm_async_suspend_complete_all(struct list_head *device_list)
+{
+	struct device *dev;
+
+	guard(mutex)(&async_wip_mtx);
+
+	list_for_each_entry_reverse(dev, device_list, power.entry) {
+		/*
+		 * In case the device is being waited for and async processing
+		 * has not started for it yet, let the waiters make progress.
+		 */
+		if (!dev->power.work_in_progress)
+			complete_all(&dev->power.completion);
+	}
+}
+
 /**
  * resume_event - Return a "resume" message for given "suspend" sleep state.
  * @sleep_state: PM message representing a sleep state.
@@ -1499,6 +1515,7 @@
 		mutex_lock(&dpm_list_mtx);
 
 		if (error || async_error) {
+			dpm_async_suspend_complete_all(&dpm_late_early_list);
 			/*
 			 * Move all devices to the target list to resume them
 			 * properly.
@@ -1701,6 +1718,7 @@
 		mutex_lock(&dpm_list_mtx);
 
 		if (error || async_error) {
+			dpm_async_suspend_complete_all(&dpm_suspended_list);
 			/*
 			 * Move all devices to the target list to resume them
 			 * properly.
@@ -1994,6 +2012,7 @@
 		mutex_lock(&dpm_list_mtx);
 
 		if (error || async_error) {
+			dpm_async_suspend_complete_all(&dpm_prepared_list);
 			/*
 			 * Move all devices to the target list to resume them
 			 * properly.




^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-11 18:30         ` Saravana Kannan
@ 2025-07-12  7:57           ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-07-12  7:57 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Rafael J. Wysocki, Tudor Ambarus, Rafael J. Wysocki, Linux PM,
	LKML, Alan Stern, Ulf Hansson, Johan Hovold, Jon Hunter,
	William McVicker, Peter Griffin, André Draszik

On Fri, Jul 11, 2025 at 8:30 PM Saravana Kannan <saravanak@google.com> wrote:
>
> On Fri, Jul 11, 2025 at 6:54 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Fri, Jul 11, 2025 at 3:38 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >
> > > On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
> > > >
> > > >
> > > > Hi, Rafael,
> > > >
> > > > On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> > > > > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > > >
> > > > > According to [1], the handling of device suspend and resume, and
> > > > > particularly the latter, involves unnecessary overhead related to
> > > > > starting new async work items for devices that cannot make progress
> > > > > right away because they have to wait for other devices.
> > > > >
> > > > > To reduce this problem in the resume path, use the observation that
> > > > > starting the async resume of the children of a device after resuming
> > > > > the parent is likely to produce less scheduling and memory management
> > > > > noise than starting it upfront while at the same time it should not
> > > > > increase the resume duration substantially.
> > > > >
> > > > > Accordingly, modify the code to start the async resume of the device's
> > > > > children when the processing of the parent has been completed in each
> > > > > stage of device resume and only start async resume upfront for devices
> > > > > without parents.
> > > > >
> > > > > Also make it check if a given device can be resumed asynchronously
> > > > > before starting the synchronous resume of it in case it will have to
> > > > > wait for another that is already resuming asynchronously.
> > > > >
> > > > > In addition to making the async resume of devices more friendly to
> > > > > systems with relatively less computing resources, this change is also
> > > > > preliminary for analogous changes in the suspend path.
> > > > >
> > > > > On the systems where it has been tested, this change by itself does
> > > > > not affect the overall system resume duration in a measurable way.
> > > > >
> > > > > Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> > > > > Suggested-by: Saravana Kannan <saravanak@google.com>
> > > > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > >
> > > > I'd like to let you know of a suspend crash that I'm dealing with
> > > > when using the OOT pixel6 drivers on top of v6.16-rc4.
> > >
> > > Well, thanks, but there's not much I can do about it.
> > >
> > > It is also better to start a new thread in such cases than to reply to
> > > a patch submission.
> > >
> > > > Similar to what Jon reported, everything gets back to normal if
> > > > I disable pm_async or if I revert the following patches:
> > > > 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
> > > > aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
> > > > 0cbef962ce1f PM: sleep: Resume children after resuming the parent
> > > >
> > > > I also reverted their fixes when testing:
> > > > 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
> > > > d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
> > > > 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
> > > >
> > > > It seems that the hang happens in dpm_suspend() at
> > > > async_synchronize_full() time after a driver fails to suspend.
> > > > The phone then naturally resets with an APC watchdog.
> > > >
> > > > [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> > > > [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> > > > [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
> > > > [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> > > > [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
> > > > [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
> > > >
> > > > The extra prints are because of:
> > > > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> > > > index d9d4fc58bc5a..3efe538c2ec2 100644
> > > > --- a/drivers/base/power/main.c
> > > > +++ b/drivers/base/power/main.c
> > > > @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
> > > >                         break;
> > > >                 }
> > > >         }
> > > > +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
> > > > +              __func__, list_empty(&dpm_prepared_list));
> > > >
> > > >         mutex_unlock(&dpm_list_mtx);
> > > >
> > > > +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
> > > >         async_synchronize_full();
> > > > +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> > > > +
> > > >         if (!error)
> > > >                 error = async_error;
> > > >
> > > > The synchronous suspend works because its strict, one-by-one ordering
> > > > ensures that device dependencies are met and that no device is suspended
> > > > while another is still using it. The asynchronous suspend fails because
> > > > it creates a race condition where the lwis-eeprom-m24c64x is called for
> > > > suspension before the process using it has been suspended, leading to a
> > > > fatal "device busy" error. Should the failure of a device suspend be
> > > > fatal?
> > >
> > > It shouldn't in principle, but it depends on what exactly is involved and how.
> > >
> > > It looks like something is blocking on power.completion somewhere.
> > > I'll check the code, maybe a complete() is missing in an error path or
> > > similar.
> >
> > It doesn't look like anything is missing in the core, so the suspend
> > failure seems to be triggering a deadlock of some sort.
> >
> > The remedy should be the same as usual in such cases: Find the device
> > that is marked as "async" incorrectly and make it "sync".
> >
>
> I'm very behind on this thread, but the patches I sent out were well
> tested on Pixel 6 OOT drivers and didn't cause any issues. So I think
> the rewrite is missing some condition my patches accounted for.

This is kind of simple: Your patches eliminated the waiting on
power.completion, so it would not cause the processing to block.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-12  7:54         ` Rafael J. Wysocki
@ 2025-07-14  7:09           ` Tudor Ambarus
  2025-07-14  7:29             ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Tudor Ambarus @ 2025-07-14  7:09 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux PM, LKML, Alan Stern, Ulf Hansson, Johan Hovold, Jon Hunter,
	Saravana Kannan, William McVicker, Peter Griffin,
	André Draszik



On 7/12/25 8:54 AM, Rafael J. Wysocki wrote:
> On Friday, July 11, 2025 3:54:00 PM CEST Rafael J. Wysocki wrote:
>> On Fri, Jul 11, 2025 at 3:38 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>
>>> On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
>>>>
>>>>
>>>> Hi, Rafael,
>>>>
>>>> On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
>>>>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>>>>
>>>>> According to [1], the handling of device suspend and resume, and
>>>>> particularly the latter, involves unnecessary overhead related to
>>>>> starting new async work items for devices that cannot make progress
>>>>> right away because they have to wait for other devices.
>>>>>
>>>>> To reduce this problem in the resume path, use the observation that
>>>>> starting the async resume of the children of a device after resuming
>>>>> the parent is likely to produce less scheduling and memory management
>>>>> noise than starting it upfront while at the same time it should not
>>>>> increase the resume duration substantially.
>>>>>
>>>>> Accordingly, modify the code to start the async resume of the device's
>>>>> children when the processing of the parent has been completed in each
>>>>> stage of device resume and only start async resume upfront for devices
>>>>> without parents.
>>>>>
>>>>> Also make it check if a given device can be resumed asynchronously
>>>>> before starting the synchronous resume of it in case it will have to
>>>>> wait for another that is already resuming asynchronously.
>>>>>
>>>>> In addition to making the async resume of devices more friendly to
>>>>> systems with relatively less computing resources, this change is also
>>>>> preliminary for analogous changes in the suspend path.
>>>>>
>>>>> On the systems where it has been tested, this change by itself does
>>>>> not affect the overall system resume duration in a measurable way.
>>>>>
>>>>> Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
>>>>> Suggested-by: Saravana Kannan <saravanak@google.com>
>>>>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>>>
>>>> I'd like to let you know of a suspend crash that I'm dealing with
>>>> when using the OOT pixel6 drivers on top of v6.16-rc4.
>>>
>>> Well, thanks, but there's not much I can do about it.
>>>
>>> It is also better to start a new thread in such cases than to reply to
>>> a patch submission.
>>>
>>>> Similar to what Jon reported, everything gets back to normal if
>>>> I disable pm_async or if I revert the following patches:
>>>> 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
>>>> aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
>>>> 0cbef962ce1f PM: sleep: Resume children after resuming the parent
>>>>
>>>> I also reverted their fixes when testing:
>>>> 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
>>>> d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
>>>> 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
>>>>
>>>> It seems that the hang happens in dpm_suspend() at
>>>> async_synchronize_full() time after a driver fails to suspend.
>>>> The phone then naturally resets with an APC watchdog.
>>>>
>>>> [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
>>>> [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
>>>> [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
>>>> [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
>>>> [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
>>>> [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
>>>>
>>>> The extra prints are because of:
>>>> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
>>>> index d9d4fc58bc5a..3efe538c2ec2 100644
>>>> --- a/drivers/base/power/main.c
>>>> +++ b/drivers/base/power/main.c
>>>> @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
>>>>                         break;
>>>>                 }
>>>>         }
>>>> +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
>>>> +              __func__, list_empty(&dpm_prepared_list));
>>>>
>>>>         mutex_unlock(&dpm_list_mtx);
>>>>
>>>> +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
>>>>         async_synchronize_full();
>>>> +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
>>>> +
>>>>         if (!error)
>>>>                 error = async_error;
>>>>
>>>> The synchronous suspend works because its strict, one-by-one ordering
>>>> ensures that device dependencies are met and that no device is suspended
>>>> while another is still using it. The asynchronous suspend fails because
>>>> it creates a race condition where the lwis-eeprom-m24c64x is called for
>>>> suspension before the process using it has been suspended, leading to a
>>>> fatal "device busy" error. Should the failure of a device suspend be
>>>> fatal?
>>>
>>> It shouldn't in principle, but it depends on what exactly is involved and how.
>>>
>>> It looks like something is blocking on power.completion somewhere.
>>> I'll check the code, maybe a complete() is missing in an error path or
>>> similar.
>>
>> It doesn't look like anything is missing in the core, so the suspend
>> failure seems to be triggering a deadlock of some sort.
> 
> Well, I'm taking this back.
> 
> The following scenario definitely can happen:
> 
> 1. Device A is async and it depends on device B that is sync.
> 2. Async suspend is scheduled for A before the processing of B is started.
> 3. A is waiting for B.
> 4. In the meantime, an unrelated device fails to suspend and returns an error.
> 5. The processing of B doesn't start at all and its power.completion is not
>    updated.
> 6. A is still waiting for B when async_synchronize_full() is called.
> 7. Deadlock ensues.
> 
> If this is what happens in your case, the (untested) patch below should help
> (unless I messed it up, that is).

Thanks, Rafael.

I added few prints (see updated patch below) to figure out whether
complete_all(&dev->power.completion) is called in my case, and it seems
it's not, I still get the APC watchdog:

[  724.361425][ T8468] lwis-i2c eeprom@2: PM: calling platform_pm_suspend @ 8468, parent: platform
[  724.361751][ T8468] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
[  724.362098][ T8468] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
[  724.362427][ T8468] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 679 usecs
[  724.362750][ T8468] lwis-i2c eeprom@2: PM: failed to suspend: error -16
[  724.362999][ T8468] PM: tudor: dpm_async_suspend_complete_all: enter
[  724.363242][ T8468] PM: tudor: dpm_suspend: before async_synchronize_full



diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index d9d4fc58bc5a..0e186bc38a00 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1281,6 +1281,27 @@ static void dpm_async_suspend_parent(struct device *dev, async_func_t func)
                dpm_async_with_cleanup(dev->parent, func);
 }
 
+static void dpm_async_suspend_complete_all(struct list_head *device_list)
+{
+       struct device *dev;
+
+
+       pr_err("tudor: %s: enter\n", __func__);
+       guard(mutex)(&async_wip_mtx);
+
+       list_for_each_entry_reverse(dev, device_list, power.entry) {
+               /*
+                * In case the device is being waited for and async processing
+                * has not started for it yet, let the waiters make progress.
+                */
+               pr_err("tudor: %s: in device list\n", __func__);
+               if (!dev->power.work_in_progress) {
+                       pr_err("tudor: %s: call complete_all\n", __func__);
+                       complete_all(&dev->power.completion);
+               }
+       }
+}
+
 /**
  * resume_event - Return a "resume" message for given "suspend" sleep state.
  * @sleep_state: PM message representing a sleep state.
@@ -1459,6 +1480,7 @@ static int dpm_noirq_suspend_devices(pm_message_t state)
                mutex_lock(&dpm_list_mtx);
 
                if (error || async_error) {
+                       dpm_async_suspend_complete_all(&dpm_late_early_list);
                        /*
                         * Move all devices to the target list to resume them
                         * properly.
@@ -1663,6 +1685,7 @@ int dpm_suspend_late(pm_message_t state)
                mutex_lock(&dpm_list_mtx);
 
                if (error || async_error) {
+                       dpm_async_suspend_complete_all(&dpm_late_early_list);
                        /*
                         * Move all devices to the target list to resume them
                         * properly.
@@ -1959,6 +1982,7 @@ int dpm_suspend(pm_message_t state)
                mutex_lock(&dpm_list_mtx);
 
                if (error || async_error) {
+                       dpm_async_suspend_complete_all(&dpm_late_early_list);
                        /*
                         * Move all devices to the target list to resume them
                         * properly.
@@ -1970,9 +1994,12 @@ int dpm_suspend(pm_message_t state)
 
        mutex_unlock(&dpm_list_mtx);
 
+       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
        async_synchronize_full();
        if (!error)
                error = async_error;
+       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
+
 
        if (error)
                dpm_save_failed_step(SUSPEND_SUSPEND);

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-14  7:09           ` Tudor Ambarus
@ 2025-07-14  7:29             ` Rafael J. Wysocki
  2025-07-14 10:35               ` Tudor Ambarus
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-07-14  7:29 UTC (permalink / raw)
  To: Tudor Ambarus
  Cc: Rafael J. Wysocki, Linux PM, LKML, Alan Stern, Ulf Hansson,
	Johan Hovold, Jon Hunter, Saravana Kannan, William McVicker,
	Peter Griffin, André Draszik

On Mon, Jul 14, 2025 at 9:09 AM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
>
>
>
> On 7/12/25 8:54 AM, Rafael J. Wysocki wrote:
> > On Friday, July 11, 2025 3:54:00 PM CEST Rafael J. Wysocki wrote:
> >> On Fri, Jul 11, 2025 at 3:38 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>
> >>> On Fri, Jul 11, 2025 at 3:08 PM Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
> >>>>
> >>>>
> >>>> Hi, Rafael,
> >>>>
> >>>> On 3/14/25 12:50 PM, Rafael J. Wysocki wrote:
> >>>>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >>>>>
> >>>>> According to [1], the handling of device suspend and resume, and
> >>>>> particularly the latter, involves unnecessary overhead related to
> >>>>> starting new async work items for devices that cannot make progress
> >>>>> right away because they have to wait for other devices.
> >>>>>
> >>>>> To reduce this problem in the resume path, use the observation that
> >>>>> starting the async resume of the children of a device after resuming
> >>>>> the parent is likely to produce less scheduling and memory management
> >>>>> noise than starting it upfront while at the same time it should not
> >>>>> increase the resume duration substantially.
> >>>>>
> >>>>> Accordingly, modify the code to start the async resume of the device's
> >>>>> children when the processing of the parent has been completed in each
> >>>>> stage of device resume and only start async resume upfront for devices
> >>>>> without parents.
> >>>>>
> >>>>> Also make it check if a given device can be resumed asynchronously
> >>>>> before starting the synchronous resume of it in case it will have to
> >>>>> wait for another that is already resuming asynchronously.
> >>>>>
> >>>>> In addition to making the async resume of devices more friendly to
> >>>>> systems with relatively less computing resources, this change is also
> >>>>> preliminary for analogous changes in the suspend path.
> >>>>>
> >>>>> On the systems where it has been tested, this change by itself does
> >>>>> not affect the overall system resume duration in a measurable way.
> >>>>>
> >>>>> Link: https://lore.kernel.org/linux-pm/20241114220921.2529905-1-saravanak@google.com/ [1]
> >>>>> Suggested-by: Saravana Kannan <saravanak@google.com>
> >>>>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >>>>
> >>>> I'd like to let you know of a suspend crash that I'm dealing with
> >>>> when using the OOT pixel6 drivers on top of v6.16-rc4.
> >>>
> >>> Well, thanks, but there's not much I can do about it.
> >>>
> >>> It is also better to start a new thread in such cases than to reply to
> >>> a patch submission.
> >>>
> >>>> Similar to what Jon reported, everything gets back to normal if
> >>>> I disable pm_async or if I revert the following patches:
> >>>> 443046d1ad66 PM: sleep: Make suspend of devices more asynchronous
> >>>> aa7a9275ab81 PM: sleep: Suspend async parents after suspending children
> >>>> 0cbef962ce1f PM: sleep: Resume children after resuming the parent
> >>>>
> >>>> I also reverted their fixes when testing:
> >>>> 8887abccf8aa PM: sleep: Add locking to dpm_async_resume_children()
> >>>> d46c4c839c20 PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
> >>>> 079e8889ad13 PM: sleep: Fix list splicing in device suspend error paths
> >>>>
> >>>> It seems that the hang happens in dpm_suspend() at
> >>>> async_synchronize_full() time after a driver fails to suspend.
> >>>> The phone then naturally resets with an APC watchdog.
> >>>>
> >>>> [  519.142279][ T7917] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> >>>> [  519.143556][ T7917] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> >>>> [  519.143872][ T7917] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 1596 usecs
> >>>> [  519.144197][ T7917] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> >>>> [  519.144448][ T7917] PM: tudor: dpm_suspend: after while loop, list_empty(&dpm_prepared_list)? 1
> >>>> [  519.144779][ T7917] PM: tudor: dpm_suspend: before async_synchronize_full
> >>>>
> >>>> The extra prints are because of:
> >>>> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> >>>> index d9d4fc58bc5a..3efe538c2ec2 100644
> >>>> --- a/drivers/base/power/main.c
> >>>> +++ b/drivers/base/power/main.c
> >>>> @@ -1967,10 +1967,15 @@ int dpm_suspend(pm_message_t state)
> >>>>                         break;
> >>>>                 }
> >>>>         }
> >>>> +       pr_err("tudor: %s: after while loop, list_empty(&dpm_prepared_list)? %d\n",
> >>>> +              __func__, list_empty(&dpm_prepared_list));
> >>>>
> >>>>         mutex_unlock(&dpm_list_mtx);
> >>>>
> >>>> +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
> >>>>         async_synchronize_full();
> >>>> +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> >>>> +
> >>>>         if (!error)
> >>>>                 error = async_error;
> >>>>
> >>>> The synchronous suspend works because its strict, one-by-one ordering
> >>>> ensures that device dependencies are met and that no device is suspended
> >>>> while another is still using it. The asynchronous suspend fails because
> >>>> it creates a race condition where the lwis-eeprom-m24c64x is called for
> >>>> suspension before the process using it has been suspended, leading to a
> >>>> fatal "device busy" error. Should the failure of a device suspend be
> >>>> fatal?
> >>>
> >>> It shouldn't in principle, but it depends on what exactly is involved and how.
> >>>
> >>> It looks like something is blocking on power.completion somewhere.
> >>> I'll check the code, maybe a complete() is missing in an error path or
> >>> similar.
> >>
> >> It doesn't look like anything is missing in the core, so the suspend
> >> failure seems to be triggering a deadlock of some sort.
> >
> > Well, I'm taking this back.
> >
> > The following scenario definitely can happen:
> >
> > 1. Device A is async and it depends on device B that is sync.
> > 2. Async suspend is scheduled for A before the processing of B is started.
> > 3. A is waiting for B.
> > 4. In the meantime, an unrelated device fails to suspend and returns an error.
> > 5. The processing of B doesn't start at all and its power.completion is not
> >    updated.
> > 6. A is still waiting for B when async_synchronize_full() is called.
> > 7. Deadlock ensues.
> >
> > If this is what happens in your case, the (untested) patch below should help
> > (unless I messed it up, that is).
>
> Thanks, Rafael.
>
> I added few prints (see updated patch below) to figure out whether
> complete_all(&dev->power.completion) is called in my case, and it seems
> it's not, I still get the APC watchdog:
>
> [  724.361425][ T8468] lwis-i2c eeprom@2: PM: calling platform_pm_suspend @ 8468, parent: platform
> [  724.361751][ T8468] lwis lwis-eeprom-m24c64x: Can't suspend because eeprom-m24c64x is in use!
> [  724.362098][ T8468] lwis-i2c eeprom@2: PM: dpm_run_callback(): platform_pm_suspend returns -16
> [  724.362427][ T8468] lwis-i2c eeprom@2: PM: platform_pm_suspend returned -16 after 679 usecs
> [  724.362750][ T8468] lwis-i2c eeprom@2: PM: failed to suspend: error -16
> [  724.362999][ T8468] PM: tudor: dpm_async_suspend_complete_all: enter
> [  724.363242][ T8468] PM: tudor: dpm_suspend: before async_synchronize_full

Well, this most likely happens because ->

>
>
> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> index d9d4fc58bc5a..0e186bc38a00 100644
> --- a/drivers/base/power/main.c
> +++ b/drivers/base/power/main.c
> @@ -1281,6 +1281,27 @@ static void dpm_async_suspend_parent(struct device *dev, async_func_t func)
>                 dpm_async_with_cleanup(dev->parent, func);
>  }
>
> +static void dpm_async_suspend_complete_all(struct list_head *device_list)
> +{
> +       struct device *dev;
> +
> +
> +       pr_err("tudor: %s: enter\n", __func__);
> +       guard(mutex)(&async_wip_mtx);
> +
> +       list_for_each_entry_reverse(dev, device_list, power.entry) {
> +               /*
> +                * In case the device is being waited for and async processing
> +                * has not started for it yet, let the waiters make progress.
> +                */
> +               pr_err("tudor: %s: in device list\n", __func__);
> +               if (!dev->power.work_in_progress) {
> +                       pr_err("tudor: %s: call complete_all\n", __func__);
> +                       complete_all(&dev->power.completion);
> +               }
> +       }
> +}
> +
>  /**
>   * resume_event - Return a "resume" message for given "suspend" sleep state.
>   * @sleep_state: PM message representing a sleep state.
> @@ -1459,6 +1480,7 @@ static int dpm_noirq_suspend_devices(pm_message_t state)
>                 mutex_lock(&dpm_list_mtx);
>
>                 if (error || async_error) {
> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>                         /*
>                          * Move all devices to the target list to resume them
>                          * properly.
> @@ -1663,6 +1685,7 @@ int dpm_suspend_late(pm_message_t state)
>                 mutex_lock(&dpm_list_mtx);
>
>                 if (error || async_error) {
> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>                         /*
>                          * Move all devices to the target list to resume them
>                          * properly.
> @@ -1959,6 +1982,7 @@ int dpm_suspend(pm_message_t state)
>                 mutex_lock(&dpm_list_mtx);
>
>                 if (error || async_error) {
> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);

-> There is a bug here which is not present in the patch I've sent.

It should be

        dpm_async_suspend_complete_all(&dpm_prepared_list);

It is also there in dpm_noirq_suspend_devices() above, but it probably
doesn't matter.

>                         /*
>                          * Move all devices to the target list to resume them
>                          * properly.
> @@ -1970,9 +1994,12 @@ int dpm_suspend(pm_message_t state)
>
>         mutex_unlock(&dpm_list_mtx);
>
> +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
>         async_synchronize_full();
>         if (!error)
>                 error = async_error;
> +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
> +
>
>         if (error)
>                 dpm_save_failed_step(SUSPEND_SUSPEND);

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-14  7:29             ` Rafael J. Wysocki
@ 2025-07-14 10:35               ` Tudor Ambarus
  2025-07-14 12:14                 ` Tudor Ambarus
  0 siblings, 1 reply; 48+ messages in thread
From: Tudor Ambarus @ 2025-07-14 10:35 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux PM, LKML, Alan Stern, Ulf Hansson, Johan Hovold, Jon Hunter,
	Saravana Kannan, William McVicker, Peter Griffin,
	André Draszik



On 7/14/25 8:29 AM, Rafael J. Wysocki wrote:
>> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
>> index d9d4fc58bc5a..0e186bc38a00 100644
>> --- a/drivers/base/power/main.c
>> +++ b/drivers/base/power/main.c
>> @@ -1281,6 +1281,27 @@ static void dpm_async_suspend_parent(struct device *dev, async_func_t func)
>>                 dpm_async_with_cleanup(dev->parent, func);
>>  }
>>
>> +static void dpm_async_suspend_complete_all(struct list_head *device_list)
>> +{
>> +       struct device *dev;
>> +
>> +
>> +       pr_err("tudor: %s: enter\n", __func__);
>> +       guard(mutex)(&async_wip_mtx);
>> +
>> +       list_for_each_entry_reverse(dev, device_list, power.entry) {
>> +               /*
>> +                * In case the device is being waited for and async processing
>> +                * has not started for it yet, let the waiters make progress.
>> +                */
>> +               pr_err("tudor: %s: in device list\n", __func__);
>> +               if (!dev->power.work_in_progress) {
>> +                       pr_err("tudor: %s: call complete_all\n", __func__);
>> +                       complete_all(&dev->power.completion);
>> +               }
>> +       }
>> +}
>> +
>>  /**
>>   * resume_event - Return a "resume" message for given "suspend" sleep state.
>>   * @sleep_state: PM message representing a sleep state.
>> @@ -1459,6 +1480,7 @@ static int dpm_noirq_suspend_devices(pm_message_t state)
>>                 mutex_lock(&dpm_list_mtx);
>>
>>                 if (error || async_error) {
>> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>>                         /*
>>                          * Move all devices to the target list to resume them
>>                          * properly.
>> @@ -1663,6 +1685,7 @@ int dpm_suspend_late(pm_message_t state)
>>                 mutex_lock(&dpm_list_mtx);
>>
>>                 if (error || async_error) {
>> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>>                         /*
>>                          * Move all devices to the target list to resume them
>>                          * properly.
>> @@ -1959,6 +1982,7 @@ int dpm_suspend(pm_message_t state)
>>                 mutex_lock(&dpm_list_mtx);
>>
>>                 if (error || async_error) {
>> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
> -> There is a bug here which is not present in the patch I've sent.

My bad, I edited by hand, sorry.

> 
> It should be
> 
>         dpm_async_suspend_complete_all(&dpm_prepared_list);


Wonderful, it seems this makes suspend happy on downstream pixel6!
I'm running some more tests and get back to you in a few hours.

> 
> It is also there in dpm_noirq_suspend_devices() above, but it probably
> doesn't matter.
> 
>>                         /*
>>                          * Move all devices to the target list to resume them
>>                          * properly.
>> @@ -1970,9 +1994,12 @@ int dpm_suspend(pm_message_t state)
>>
>>         mutex_unlock(&dpm_list_mtx);
>>
>> +       pr_err("tudor: %s: before async_synchronize_full\n", __func__);
>>         async_synchronize_full();
>>         if (!error)
>>                 error = async_error;
>> +       pr_err("tudor: %s: after async_synchronize_full();\n", __func__);
>> +
>>
>>         if (error)
>>                 dpm_save_failed_step(SUSPEND_SUSPEND);


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent
  2025-07-14 10:35               ` Tudor Ambarus
@ 2025-07-14 12:14                 ` Tudor Ambarus
  0 siblings, 0 replies; 48+ messages in thread
From: Tudor Ambarus @ 2025-07-14 12:14 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux PM, LKML, Alan Stern, Ulf Hansson, Johan Hovold, Jon Hunter,
	Saravana Kannan, William McVicker, Peter Griffin,
	André Draszik



On 7/14/25 11:35 AM, Tudor Ambarus wrote:
> 
> 
> On 7/14/25 8:29 AM, Rafael J. Wysocki wrote:
>>> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
>>> index d9d4fc58bc5a..0e186bc38a00 100644
>>> --- a/drivers/base/power/main.c
>>> +++ b/drivers/base/power/main.c
>>> @@ -1281,6 +1281,27 @@ static void dpm_async_suspend_parent(struct device *dev, async_func_t func)
>>>                 dpm_async_with_cleanup(dev->parent, func);
>>>  }
>>>
>>> +static void dpm_async_suspend_complete_all(struct list_head *device_list)
>>> +{
>>> +       struct device *dev;
>>> +
>>> +
>>> +       pr_err("tudor: %s: enter\n", __func__);
>>> +       guard(mutex)(&async_wip_mtx);
>>> +
>>> +       list_for_each_entry_reverse(dev, device_list, power.entry) {
>>> +               /*
>>> +                * In case the device is being waited for and async processing
>>> +                * has not started for it yet, let the waiters make progress.
>>> +                */
>>> +               pr_err("tudor: %s: in device list\n", __func__);
>>> +               if (!dev->power.work_in_progress) {
>>> +                       pr_err("tudor: %s: call complete_all\n", __func__);
>>> +                       complete_all(&dev->power.completion);
>>> +               }
>>> +       }
>>> +}
>>> +
>>>  /**
>>>   * resume_event - Return a "resume" message for given "suspend" sleep state.
>>>   * @sleep_state: PM message representing a sleep state.
>>> @@ -1459,6 +1480,7 @@ static int dpm_noirq_suspend_devices(pm_message_t state)
>>>                 mutex_lock(&dpm_list_mtx);
>>>
>>>                 if (error || async_error) {
>>> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>>>                         /*
>>>                          * Move all devices to the target list to resume them
>>>                          * properly.
>>> @@ -1663,6 +1685,7 @@ int dpm_suspend_late(pm_message_t state)
>>>                 mutex_lock(&dpm_list_mtx);
>>>
>>>                 if (error || async_error) {
>>> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>>>                         /*
>>>                          * Move all devices to the target list to resume them
>>>                          * properly.
>>> @@ -1959,6 +1982,7 @@ int dpm_suspend(pm_message_t state)
>>>                 mutex_lock(&dpm_list_mtx);
>>>
>>>                 if (error || async_error) {
>>> +                       dpm_async_suspend_complete_all(&dpm_late_early_list);
>> -> There is a bug here which is not present in the patch I've sent.
> 
> My bad, I edited by hand, sorry.
> 
>>
>> It should be
>>
>>         dpm_async_suspend_complete_all(&dpm_prepared_list);
> 
> 
> Wonderful, it seems this makes suspend happy on downstream pixel6!
> I'm running some more tests and get back to you in a few hours.
> 

Solves failures on pixel6 downstream:
Reported-and-tested-by: Tudor Ambarus <tudor.ambarus@linaro.org>

Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2025-07-14 12:14 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-14 12:46 [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Rafael J. Wysocki
2025-03-14 12:50 ` [PATCH v3 1/5] PM: sleep: Resume children after resuming the parent Rafael J. Wysocki
2025-05-01  9:51   ` Jon Hunter
2025-05-02 20:33     ` Rafael J. Wysocki
2025-05-07 13:21       ` Jon Hunter
2025-05-07 13:39         ` Rafael J. Wysocki
2025-05-07 14:25           ` Rafael J. Wysocki
2025-05-07 14:39             ` Jon Hunter
2025-05-07 14:56               ` Rafael J. Wysocki
2025-05-07 15:39                 ` Jon Hunter
2025-05-07 16:43                   ` Rafael J. Wysocki
2025-05-08 13:38                     ` Jon Hunter
2025-05-08 18:06                       ` Rafael J. Wysocki
2025-05-10 11:39                   ` Rafael J. Wysocki
2025-05-10 11:50                     ` Jon Hunter
2025-07-11 13:08   ` Tudor Ambarus
2025-07-11 13:38     ` Rafael J. Wysocki
2025-07-11 13:54       ` Rafael J. Wysocki
2025-07-11 18:30         ` Saravana Kannan
2025-07-12  7:57           ` Rafael J. Wysocki
2025-07-12  7:54         ` Rafael J. Wysocki
2025-07-14  7:09           ` Tudor Ambarus
2025-07-14  7:29             ` Rafael J. Wysocki
2025-07-14 10:35               ` Tudor Ambarus
2025-07-14 12:14                 ` Tudor Ambarus
2025-03-14 13:13 ` [PATCH v3 2/5] PM: sleep: Suspend async parents after suspending children Rafael J. Wysocki
2025-06-02 12:11   ` Chris Bainbridge
2025-06-02 14:29     ` Rafael J. Wysocki
2025-06-02 15:21       ` Mario Limonciello
2025-06-02 19:58         ` Rafael J. Wysocki
2025-06-03  9:38           ` Rafael J. Wysocki
2025-06-03 10:17             ` Chris Bainbridge
2025-06-03 10:29               ` Rafael J. Wysocki
2025-06-03 10:30                 ` Rafael J. Wysocki
2025-06-03 11:37                   ` Rafael J. Wysocki
2025-06-03 11:39                     ` Rafael J. Wysocki
2025-06-03 12:14                       ` Chris Bainbridge
2025-06-03 12:23                         ` Rafael J. Wysocki
2025-06-03 12:26                           ` Chris Bainbridge
2025-06-03 13:04                             ` Rafael J. Wysocki
2025-06-03 13:36                               ` Chris Bainbridge
2025-06-03 13:59                                 ` Rafael J. Wysocki
2025-03-14 13:14 ` [PATCH v3 3/5] PM: sleep: Make suspend of devices more asynchronous Rafael J. Wysocki
2025-03-14 13:16 ` [PATCH v3 4/5] PM: sleep: Make async suspend handle suppliers like parents Rafael J. Wysocki
2025-03-14 13:17 ` [PATCH v3 5/5] PM: sleep: Make async resume handle consumers like children Rafael J. Wysocki
2025-03-14 21:06 ` [PATCH v3 0/5] PM: sleep: Improvements of async suspend and resume of devices Saravana Kannan
2025-03-15 14:57   ` Rafael J. Wysocki
2025-04-08 13:39     ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).