···712712 * During system suspend pm_runtime_get_noresume() is called for every device713713 right before executing the subsystem-level .prepare() callback for it and714714 pm_runtime_barrier() is called for every device right before executing the715715- subsystem-level .suspend() callback for it. In addition to that the PM core716716- calls __pm_runtime_disable() with 'false' as the second argument for every717717- device right before executing the subsystem-level .suspend_late() callback718718- for it.715715+ subsystem-level .suspend() callback for it. In addition to that, the PM716716+ core disables runtime PM for every device right before executing the717717+ subsystem-level .suspend_late() callback for it.719718720719 * During system resume pm_runtime_enable() and pm_runtime_put() are called for721720 every device right after executing the subsystem-level .resume_early()
+4-3
drivers/base/power/main.c
···16471647 goto Complete;1648164816491649 /*16501650- * Disable runtime PM for the device without checking if there is a16511651- * pending resume request for it.16501650+ * After this point, any runtime PM operations targeting the device16511651+ * will fail until the corresponding pm_runtime_enable() call in16521652+ * device_resume_early().16521653 */16531653- __pm_runtime_disable(dev, false);16541654+ pm_runtime_disable(dev);1654165516551656 if (dev->power.syscore)16561657 goto Skip;
+1-1
kernel/power/main.c
···1125112511261126static int __init pm_start_workqueues(void)11271127{11281128- pm_wq = alloc_workqueue("pm", WQ_FREEZABLE | WQ_UNBOUND, 0);11281128+ pm_wq = alloc_workqueue("pm", WQ_UNBOUND, 0);11291129 if (!pm_wq)11301130 return -ENOMEM;11311131