|
@@ -499,7 +499,7 @@ int __smp_send_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us, bool
|
|
|
if (delay_us) {
|
|
if (delay_us) {
|
|
|
delay_us--;
|
|
delay_us--;
|
|
|
if (!delay_us)
|
|
if (!delay_us)
|
|
|
- break;
|
|
|
|
|
|
|
+ goto timeout;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -510,10 +510,11 @@ int __smp_send_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us, bool
|
|
|
if (delay_us) {
|
|
if (delay_us) {
|
|
|
delay_us--;
|
|
delay_us--;
|
|
|
if (!delay_us)
|
|
if (!delay_us)
|
|
|
- break;
|
|
|
|
|
|
|
+ goto timeout;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+timeout:
|
|
|
if (!cpumask_empty(&nmi_ipi_pending_mask)) {
|
|
if (!cpumask_empty(&nmi_ipi_pending_mask)) {
|
|
|
/* Timeout waiting for CPUs to call smp_handle_nmi_ipi */
|
|
/* Timeout waiting for CPUs to call smp_handle_nmi_ipi */
|
|
|
ret = 0;
|
|
ret = 0;
|