From 4e774f5470d567c33b620fff7b37622174f8949a Mon Sep 17 00:00:00 2001
From: Anup Patel <anup.patel@wdc.com>
Date: Mon, 18 Feb 2019 18:39:02 +0530
Subject: 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 <anup.patel@wdc.com>
---
 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);
 
-- 
cgit v1.2.3