Re: [PATCH tty v11 1/2] serial: 8250: Switch to nbcon console, take 2

Jon Hunter <[email protected]>
Newsgroups gmane.linux.serial,gmane.linux.kernel,gmane.linux.ports.tegra
Message-ID <[email protected]>
Hi John,

On 25/08/2026 14:58, John Ogness wrote:
> Hi Jon,
> 
> On 2026-08-24, Jon Hunter <[email protected]> wrote:
>> With this I see a little more output on the console, but it still
>> appears to hang later and never fully boots.
>>
>> Boot log here: https://pastebin.com/Xe1vmeUj
> 
> Thanks, this information is helpful. Below is another hack, to be used
> on the unmodified linux-next. For whatever reason, I think the queuing
> of irqwork is causing problems. Perhaps the irqwork is actually firing
> even though interrupts are supposed to be disabled here.
> 
> The following hack will disable the queuing during the cpuidle. Please
> give this a try:
> 
> ===== BEGIN CPUIDLE HACK =====
> diff --git a/drivers/cpuidle/cpuidle-tegra.c b/drivers/cpuidle/cpuidle-tegra.c
> index aca907a62bb5d..1dca9d6defbff 100644
> --- a/drivers/cpuidle/cpuidle-tegra.c
> +++ b/drivers/cpuidle/cpuidle-tegra.c
> @@ -226,6 +226,7 @@ static int tegra_cpuidle_adjust_state_index(int index, unsigned int cpu)
>   	return index;
>   }
>   
> +extern bool console_irqwork_blocked;
>   static __cpuidle int tegra_cpuidle_enter(struct cpuidle_device *dev,
>   					 struct cpuidle_driver *drv,
>   					 int index)
> @@ -238,6 +239,8 @@ static __cpuidle int tegra_cpuidle_enter(struct cpuidle_device *dev,
>   	if (dev->states_usage[index].disable)
>   		return -1;
>   
> +	console_irqwork_blocked = true;
> +
>   	if (index == TEGRA_C1) {
>   		if (do_rcu)
>   			ct_cpuidle_enter();
> @@ -256,6 +259,8 @@ static __cpuidle int tegra_cpuidle_enter(struct cpuidle_device *dev,
>   		index = ret;
>   	}
>   
> +	console_irqwork_blocked = false;
> +
>   	return index;
>   }
> ===== END CPUIDLE HACK =====
Yes that does boot. Let me know if there are any further tests I can run.

Thanks!
Jon

-- 
nvpublic
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.