From 4e774f5470d567c33b620fff7b37622174f8949a Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Mon, 18 Feb 2019 18:39:02 +0530 Subject: [PATCH] lib: Fix mask shift in sbi_ipi_send_many() The mask shift in for-loop of sbi_ipi_send_many() is broken with commit 918c1354b75c74b62f67c4e929551d643f035443 ("lib: Improve delivery of SBI_IPI_EVENT_HALT") This patch fix it. Signed-off-by: Anup Patel --- lib/sbi_ipi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sbi_ipi.c b/lib/sbi_ipi.c index a72f75b..5f189c8 100644 --- a/lib/sbi_ipi.c +++ b/lib/sbi_ipi.c @@ -51,7 +51,7 @@ int sbi_ipi_send_many(struct sbi_scratch *scratch, mask &= load_ulong(pmask, csr_read(CSR_MEPC)); /* send IPIs to every other hart on the set */ - for (i = 0, m = mask; m > 0; m >>= ++i) + for (i = 0, m = mask; m; i++, m >>= 1) if ((m & 1UL) && (i != hartid)) sbi_ipi_send(scratch, i, event); -- 2.7.4