lib: sbi: fix ctz bug

The original version of ctz will cause an endless loop, if the parameter
passed in is 0. This commit fixes this bug.

Signed-off-by: Xiang W <wxjstz@126.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
Xiang W
2021-09-15 14:50:52 +08:00
committed by Anup Patel
parent 395ff7eede
commit 3477f08b08

View File

@@ -213,6 +213,9 @@ static unsigned long ctz(unsigned long x)
{
unsigned long ret = 0;
if (x == 0)
return 8 * sizeof(x);
while (!(x & 1UL)) {
ret++;
x = x >> 1;