ftrace: disable tracing for hibernation

In accordance with commit f42ac38c59e0a03d6da0c24a63fb211393f484b0
("ftrace: disable tracing for suspend to ram"), disable tracing
around the suspend code in hibernation code paths.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Rafael J. Wysocki and committed by Linus Torvalds 41108eb1 b09331e5

+10 -3
+10 -3
kernel/power/disk.c
··· 21 #include <linux/console.h> 22 #include <linux/cpu.h> 23 #include <linux/freezer.h> 24 25 #include "power.h" 26 ··· 256 257 int hibernation_snapshot(int platform_mode) 258 { 259 - int error; 260 261 /* Free memory before shutting down devices. */ 262 error = swsusp_shrink_memory(); ··· 268 goto Close; 269 270 suspend_console(); 271 error = device_suspend(PMSG_FREEZE); 272 if (error) 273 goto Recover_platform; ··· 298 Resume_devices: 299 device_resume(in_suspend ? 300 (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE); 301 resume_console(); 302 Close: 303 platform_end(platform_mode); ··· 369 370 int hibernation_restore(int platform_mode) 371 { 372 - int error; 373 374 pm_prepare_console(); 375 suspend_console(); 376 error = device_suspend(PMSG_QUIESCE); 377 if (error) 378 goto Finish; ··· 388 platform_restore_cleanup(platform_mode); 389 device_resume(PMSG_RECOVER); 390 Finish: 391 resume_console(); 392 pm_restore_console(); 393 return error; ··· 401 402 int hibernation_platform_enter(void) 403 { 404 - int error; 405 406 if (!hibernation_ops) 407 return -ENOSYS; ··· 416 goto Close; 417 418 suspend_console(); 419 error = device_suspend(PMSG_HIBERNATE); 420 if (error) { 421 if (hibernation_ops->recover) ··· 451 hibernation_ops->finish(); 452 Resume_devices: 453 device_resume(PMSG_RESTORE); 454 resume_console(); 455 Close: 456 hibernation_ops->end();
··· 21 #include <linux/console.h> 22 #include <linux/cpu.h> 23 #include <linux/freezer.h> 24 + #include <linux/ftrace.h> 25 26 #include "power.h" 27 ··· 255 256 int hibernation_snapshot(int platform_mode) 257 { 258 + int error, ftrace_save; 259 260 /* Free memory before shutting down devices. */ 261 error = swsusp_shrink_memory(); ··· 267 goto Close; 268 269 suspend_console(); 270 + ftrace_save = __ftrace_enabled_save(); 271 error = device_suspend(PMSG_FREEZE); 272 if (error) 273 goto Recover_platform; ··· 296 Resume_devices: 297 device_resume(in_suspend ? 298 (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE); 299 + __ftrace_enabled_restore(ftrace_save); 300 resume_console(); 301 Close: 302 platform_end(platform_mode); ··· 366 367 int hibernation_restore(int platform_mode) 368 { 369 + int error, ftrace_save; 370 371 pm_prepare_console(); 372 suspend_console(); 373 + ftrace_save = __ftrace_enabled_save(); 374 error = device_suspend(PMSG_QUIESCE); 375 if (error) 376 goto Finish; ··· 384 platform_restore_cleanup(platform_mode); 385 device_resume(PMSG_RECOVER); 386 Finish: 387 + __ftrace_enabled_restore(ftrace_save); 388 resume_console(); 389 pm_restore_console(); 390 return error; ··· 396 397 int hibernation_platform_enter(void) 398 { 399 + int error, ftrace_save; 400 401 if (!hibernation_ops) 402 return -ENOSYS; ··· 411 goto Close; 412 413 suspend_console(); 414 + ftrace_save = __ftrace_enabled_save(); 415 error = device_suspend(PMSG_HIBERNATE); 416 if (error) { 417 if (hibernation_ops->recover) ··· 445 hibernation_ops->finish(); 446 Resume_devices: 447 device_resume(PMSG_RESTORE); 448 + __ftrace_enabled_restore(ftrace_save); 449 resume_console(); 450 Close: 451 hibernation_ops->end();