spin_until_cond() will wait until nmi_ipi_busy == false, and
nmi_ipi_lock_start() does not seem to change nmi_ipi_busy, so there is
no way this while will ever repeat.

Replace this 'while' by an 'if', so it does not look like it can repeat.

Signed-off-by: Leonardo Bras <leona...@linux.ibm.com>
---
 arch/powerpc/kernel/smp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index ea6adbf6a221..7c904d6fb4d2 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -473,7 +473,7 @@ static int __smp_send_nmi_ipi(int cpu, void (*fn)(struct 
pt_regs *),
                return 0;
 
        nmi_ipi_lock_start(&flags);
-       while (nmi_ipi_busy) {
+       if (nmi_ipi_busy) {
                nmi_ipi_unlock_end(&flags);
                spin_until_cond(!nmi_ipi_busy);
                nmi_ipi_lock_start(&flags);
-- 
2.24.1

Reply via email to