diff options
| author | Petr Mladek <pmladek@suse.com> | 2025-12-01 14:16:28 +0100 |
|---|---|---|
| committer | Petr Mladek <pmladek@suse.com> | 2025-12-01 14:16:28 +0100 |
| commit | 3a9a3f5fb224155bb719c337527ffdffca0c1d7f (patch) | |
| tree | 59c1e3dfc5d87e92442891e53d8d1fb566e1eeb3 /kernel/printk/internal.h | |
| parent | b1e6c41ef9daf5a975a677c3570c5f805c6c7514 (diff) | |
| parent | 66e7c1e0ee08cfb6db64f8f3f6e5a3cc930145c8 (diff) | |
Merge branch 'rework/suspend-fixes' into for-linus
Diffstat (limited to 'kernel/printk/internal.h')
| -rw-r--r-- | kernel/printk/internal.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/printk/internal.h b/kernel/printk/internal.h index 7e3128ec9336..5f5f626f4279 100644 --- a/kernel/printk/internal.h +++ b/kernel/printk/internal.h @@ -185,6 +185,8 @@ struct console_flush_type { bool legacy_offload; }; +extern bool console_irqwork_blocked; + /* * Identify which console flushing methods should be used in the context of * the caller. @@ -196,7 +198,7 @@ static inline void printk_get_console_flush_type(struct console_flush_type *ft) switch (nbcon_get_default_prio()) { case NBCON_PRIO_NORMAL: if (have_nbcon_console && !have_boot_console) { - if (printk_kthreads_running) + if (printk_kthreads_running && !console_irqwork_blocked) ft->nbcon_offload = true; else ft->nbcon_atomic = true; @@ -206,7 +208,7 @@ static inline void printk_get_console_flush_type(struct console_flush_type *ft) if (have_legacy_console || have_boot_console) { if (!is_printk_legacy_deferred()) ft->legacy_direct = true; - else + else if (!console_irqwork_blocked) ft->legacy_offload = true; } break; @@ -219,7 +221,7 @@ static inline void printk_get_console_flush_type(struct console_flush_type *ft) if (have_legacy_console || have_boot_console) { if (!is_printk_legacy_deferred()) ft->legacy_direct = true; - else + else if (!console_irqwork_blocked) ft->legacy_offload = true; } break; |