lib: Fix mask shift in sbi_ipi_send_many()

The mask shift in for-loop of sbi_ipi_send_many() is
broken with commit 918c1354b7
("lib: Improve delivery of SBI_IPI_EVENT_HALT")

This patch fix it.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
Anup Patel
2019-02-18 18:39:02 +05:30
committed by Anup Patel
parent 148423d141
commit 4e774f5470

View File

@@ -51,7 +51,7 @@ int sbi_ipi_send_many(struct sbi_scratch *scratch,
mask &= load_ulong(pmask, csr_read(CSR_MEPC)); mask &= load_ulong(pmask, csr_read(CSR_MEPC));
/* send IPIs to every other hart on the set */ /* 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)) if ((m & 1UL) && (i != hartid))
sbi_ipi_send(scratch, i, event); sbi_ipi_send(scratch, i, event);