mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 17:23:36 +00:00
delay: Fix ndelay() spuriously treated as udelay()
A recent rework on delay functions wrongly ended up calling __udelay()
instead of __ndelay() for nanosecond delays, increasing those by 1000.
As a result hangs have been observed on boot
Restore the right function calls.
Fixes: 19e2d91d8c
("delay: Rework udelay and ndelay")
Reported-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/all/20241121152931.51884-1-frederic@kernel.org
This commit is contained in:
parent
f5807b0606
commit
4d17c25eaf
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user