diff options
Diffstat (limited to 'lib/int_sqrt.c')
| -rw-r--r-- | lib/int_sqrt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c index 14436f4ca6bd..30e0f9770f88 100644 --- a/lib/int_sqrt.c +++ b/lib/int_sqrt.c | |||
| @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x) | |||
| 52 | if (x <= ULONG_MAX) | 52 | if (x <= ULONG_MAX) |
| 53 | return int_sqrt((unsigned long) x); | 53 | return int_sqrt((unsigned long) x); |
| 54 | 54 | ||
| 55 | m = 1ULL << (fls64(x) & ~1ULL); | 55 | m = 1ULL << ((fls64(x) - 1) & ~1ULL); |
| 56 | while (m != 0) { | 56 | while (m != 0) { |
| 57 | b = y + m; | 57 | b = y + m; |
| 58 | y >>= 1; | 58 | y >>= 1; |
