diff options
Diffstat (limited to 'fs/xfs/xfs_bit.h')
-rw-r--r-- | fs/xfs/xfs_bit.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/xfs/xfs_bit.h b/fs/xfs/xfs_bit.h index f1e3c907044d..e1649c0d3e02 100644 --- a/fs/xfs/xfs_bit.h +++ b/fs/xfs/xfs_bit.h | |||
@@ -66,8 +66,11 @@ static inline int xfs_lowbit64(__uint64_t v) | |||
66 | n = ffs(w); | 66 | n = ffs(w); |
67 | } else { /* upper bits */ | 67 | } else { /* upper bits */ |
68 | w = (__uint32_t)(v >> 32); | 68 | w = (__uint32_t)(v >> 32); |
69 | if (w && (n = ffs(w))) | 69 | if (w) { |
70 | n += 32; | 70 | n = ffs(w); |
71 | if (n) | ||
72 | n += 32; | ||
73 | } | ||
71 | } | 74 | } |
72 | return n - 1; | 75 | return n - 1; |
73 | } | 76 | } |