diff options
Diffstat (limited to 'lib/xarray.c')
-rw-r--r-- | lib/xarray.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/xarray.c b/lib/xarray.c index 7946380cd6c9..bbacca576593 100644 --- a/lib/xarray.c +++ b/lib/xarray.c | |||
@@ -1565,8 +1565,9 @@ void *xa_store_range(struct xarray *xa, unsigned long first, | |||
1565 | do { | 1565 | do { |
1566 | xas_lock(&xas); | 1566 | xas_lock(&xas); |
1567 | if (entry) { | 1567 | if (entry) { |
1568 | unsigned int order = (last == ~0UL) ? 64 : | 1568 | unsigned int order = BITS_PER_LONG; |
1569 | ilog2(last + 1); | 1569 | if (last + 1) |
1570 | order = __ffs(last + 1); | ||
1570 | xas_set_order(&xas, last, order); | 1571 | xas_set_order(&xas, last, order); |
1571 | xas_create(&xas); | 1572 | xas_create(&xas); |
1572 | if (xas_error(&xas)) | 1573 | if (xas_error(&xas)) |