summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sbi/sbi_ipi.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/lib/sbi/sbi_ipi.c b/lib/sbi/sbi_ipi.c
index ba83f245..ad091545 100644
--- a/lib/sbi/sbi_ipi.c
+++ b/lib/sbi/sbi_ipi.c
@@ -223,14 +223,11 @@ void sbi_ipi_process(void)
ipi_type = atomic_raw_xchg_ulong(&ipi_data->ipi_type, 0);
ipi_event = 0;
while (ipi_type) {
- if (!(ipi_type & 1UL))
- goto skip;
-
- ipi_ops = ipi_ops_array[ipi_event];
- if (ipi_ops && ipi_ops->process)
- ipi_ops->process(scratch);
-
-skip:
+ if (ipi_type & 1UL) {
+ ipi_ops = ipi_ops_array[ipi_event];
+ if (ipi_ops && ipi_ops->process)
+ ipi_ops->process(scratch);
+ }
ipi_type = ipi_type >> 1;
ipi_event++;
}