Merge changes related to system sleep, PM domains changes and power management documentation changes for 5.18-rc1: - Fix load_image_and_restore() error path (Ye Bin). - Fix typos in comments in the system wakeup hadling code (Tom Rix). - Clean up non-kernel-doc comments in hibernation code (Jiapeng Chong). - Fix __setup handler error handling in system-wide suspend and hibernation core code (Randy Dunlap). - Add device name to suspend_report_result() (Youngjin Jang). - Make virtual guests honour ACPI S4 hardware signature by default (David Woodhouse). - Block power off of a parent PM domain unless child is in deepest state (Ulf Hansson). - Use dev_err_probe() to simplify error handling for generic PM domains (Ahmad Fatoum). - Fix sleep-in-atomic bug caused by genpd_debug_remove() (Shawn Guo). - Document Intel uncore frequency scaling (Srinivas Pandruvada). * pm-sleep: PM: hibernate: Honour ACPI hardware signature by default for virtual guests PM: sleep: Add device name to suspend_report_result() PM: suspend: fix return value of __setup handler PM: hibernate: fix __setup handler error handling PM: hibernate: Clean up non-kernel-doc comments PM: sleep: wakeup: Fix typos in comments PM: hibernate: fix load_image_and_restore() error path * pm-domains: PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() PM: domains: use dev_err_probe() to simplify error handling PM: domains: Prevent power off for parent unless child is in deepest state * pm-docs: Documentation: admin-guide: pm: Document uncore frequency scaling
Showing the changes to kernel (3 of 16 files). Show all
Unified · Split
| @@ -689,8 +689,10 @@ static int load_image_and_restore(void) · 688 unmodified lines | ||
| 689 | 689 | |
| 690 | 690 | lock_device_hotplug(); |
| 691 | 691 | error = create_basic_memory_bitmaps(); |
| 692 | − if (error) | |
| 692 | + if (error) { | |
| 693 | + swsusp_close(FMODE_READ | FMODE_EXCL); | |
| 693 | 694 | goto Unlock; |
| 695 | + } | |
| 694 | 696 | |
| 695 | 697 | error = swsusp_read(&flags); |
| 696 | 698 | swsusp_close(FMODE_READ | FMODE_EXCL); |
| @@ -1328,7 +1330,7 @@ static int __init resumedelay_setup(char *str) · 631 unmodified lines | ||
| 1328 | 1330 | int rc = kstrtouint(str, 0, &resume_delay); |
| 1329 | 1331 | |
| 1330 | 1332 | if (rc) |
| 1331 | − return rc; | |
| 1333 | + pr_warn("resumedelay: bad option string '%s'\n", str); | |
| 1332 | 1334 | return 1; |
| 1333 | 1335 | } |
| 1334 | 1336 | |
| @@ -157,22 +157,22 @@ static int __init setup_test_suspend(char *value) · 156 unmodified lines | ||
| 157 | 157 | value++; |
| 158 | 158 | suspend_type = strsep(&value, ","); |
| 159 | 159 | if (!suspend_type) |
| 160 | − return 0; | |
| 160 | + return 1; | |
| 161 | 161 | |
| 162 | 162 | repeat = strsep(&value, ","); |
| 163 | 163 | if (repeat) { |
| 164 | 164 | if (kstrtou32(repeat, 0, &test_repeat_count_max)) |
| 165 | − return 0; | |
| 165 | + return 1; | |
| 166 | 166 | } |
| 167 | 167 | |
| 168 | 168 | for (i = PM_SUSPEND_MIN; i < PM_SUSPEND_MAX; i++) |
| 169 | 169 | if (!strcmp(pm_labels[i], suspend_type)) { |
| 170 | 170 | test_state_label = pm_labels[i]; |
| 171 | − return 0; | |
| 171 | + return 1; | |
| 172 | 172 | } |
| 173 | 173 | |
| 174 | 174 | printk(warn_bad_state, suspend_type); |
| 175 | − return 0; | |
| 175 | + return 1; | |
| 176 | 176 | } |
| 177 | 177 | __setup("test_suspend", setup_test_suspend); |
| 178 | 178 | |
| @@ -89,7 +89,7 @@ struct swap_map_page_list { · 88 unmodified lines | ||
| 89 | 89 | struct swap_map_page_list *next; |
| 90 | 90 | }; |
| 91 | 91 | |
| 92 | −/** | |
| 92 | +/* | |
| 93 | 93 | * The swap_map_handle structure is used for handling swap in |
| 94 | 94 | * a file-alike way |
| 95 | 95 | */ |
| @@ -117,7 +117,7 @@ struct swsusp_header { · 21 unmodified lines | ||
| 117 | 117 | |
| 118 | 118 | static struct swsusp_header *swsusp_header; |
| 119 | 119 | |
| 120 | −/** | |
| 120 | +/* | |
| 121 | 121 | * The following functions are used for tracing the allocated |
| 122 | 122 | * swap pages, so that they can be freed in case of an error. |
| 123 | 123 | */ |
| @@ -171,7 +171,7 @@ static int swsusp_extents_insert(unsigned long swap_offset) · 47 unmodified lines | ||
| 171 | 171 | return 0; |
| 172 | 172 | } |
| 173 | 173 | |
| 174 | −/** | |
| 174 | +/* | |
| 175 | 175 | * alloc_swapdev_block - allocate a swap page and register that it has |
| 176 | 176 | * been allocated, so that it can be freed in case of an error. |
| 177 | 177 | */ |
| @@ -190,7 +190,7 @@ sector_t alloc_swapdev_block(int swap) · 12 unmodified lines | ||
| 190 | 190 | return 0; |
| 191 | 191 | } |
| 192 | 192 | |
| 193 | −/** | |
| 193 | +/* | |
| 194 | 194 | * free_all_swap_pages - free swap pages allocated for saving image data. |
| 195 | 195 | * It also frees the extents used to register which swap entries had been |
| 196 | 196 | * allocated. |