Re: [PATCH] Revert "delay: Rework udelay and ndelay"

From: Frederic Weisbecker
Date: Thu Nov 21 2024 - 06:36:39 EST


Le Thu, Nov 21, 2024 at 05:55:38PM +0800, Chen-Yu Tsai a écrit :
> This reverts commit 19e2d91d8cb1f333adf04731f2788ff6ca06cebd.
>
> Journald was recently observed to continuely crash at startup, causing
> the system to not be able to finish booting. This was observed locally
> on my MT8195 based Chromebook while doing development, and on KernelCI
> on a MT8192 based Chromebook [1].
>
> A bisect found this commit to be the first bad commit. Reverting it
> seems to have fixed the issue.
>
> [1] https://lava.collabora.dev/scheduler/job/16123429
>
> Fixes: 19e2d91d8cb1 ("delay: Rework udelay and ndelay")
> Cc: Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Frederic Weisbecker <frederic@xxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: linux-arch@xxxxxxxxxxxxxxx
> Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx>

Ah wait, can you please try this instead?

diff --git a/include/asm-generic/delay.h b/include/asm-generic/delay.h
index 76cf237b6e4c..03b0ec7afca6 100644
--- a/include/asm-generic/delay.h
+++ b/include/asm-generic/delay.h
@@ -75,11 +75,11 @@ static __always_inline void ndelay(unsigned long nsec)
{
if (__builtin_constant_p(nsec)) {
if (nsec >= DELAY_CONST_MAX)
- __bad_udelay();
+ __bad_ndelay();
else
__const_udelay(nsec * NDELAY_CONST_MULT);
} else {
- __udelay(nsec);
+ __ndelay(nsec);
}
}
#define ndelay(x) ndelay(x)


Thanks!