aboutsummaryrefslogtreecommitdiffstats
path: root/lib/xarray.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xarray.c')
-rw-r--r--lib/xarray.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/xarray.c b/lib/xarray.c
index 3f10198f00b7..2cc3798672f7 100644
--- a/lib/xarray.c
+++ b/lib/xarray.c
@@ -800,7 +800,7 @@ void *xas_store(struct xa_state *xas, void *entry)
800 * entry is set to NULL. 800 * entry is set to NULL.
801 */ 801 */
802 rcu_assign_pointer(*slot, entry); 802 rcu_assign_pointer(*slot, entry);
803 if (xa_is_node(next)) 803 if (xa_is_node(next) && (!node || node->shift))
804 xas_free_nodes(xas, xa_to_node(next)); 804 xas_free_nodes(xas, xa_to_node(next));
805 if (!node) 805 if (!node)
806 break; 806 break;