On 2021-03-30, John Ogness <john.ogn...@linutronix.de> wrote: > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index e971c0a9ec9e..f090d6a1b39e 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -1772,16 +1759,21 @@ static struct task_struct *console_owner; > static bool console_waiter; > > /** > - * console_lock_spinning_enable - mark beginning of code where another > + * console_lock_spinning_enable_irqsave - mark beginning of code where > another > * thread might safely busy wait > * > * This basically converts console_lock into a spinlock. This marks > * the section where the console_lock owner can not sleep, because > * there may be a waiter spinning (like a spinlock). Also it must be > * ready to hand over the lock at the end of the section. > + * > + * This disables interrupts because the hand over to a waiter must not be > + * interrupted until the hand over is completed (@console_waiter is cleared). > */ > -static void console_lock_spinning_enable(void) > +static void console_lock_spinning_enable_irqsave(unsigned long *flags)
I missed the prototype change for the !CONFIG_PRINTK case, resulting in: linux/kernel/printk/printk.c:2707:3: error: implicit declaration of function ‘console_lock_spinning_enable_irqsave’; did you mean ‘console_lock_spinning_enable’? [-Werror=implicit-function-declaration] console_lock_spinning_enable_irqsave(&flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ console_lock_spinning_enable Will be fixed for v3. (I have now officially added !CONFIG_PRINTK to my CI tests.) John Ogness