summaryrefslogtreecommitdiff
path: root/compat/lib-rhashtable.c
diff options
context:
space:
mode:
Diffstat (limited to 'compat/lib-rhashtable.c')
-rw-r--r--compat/lib-rhashtable.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/compat/lib-rhashtable.c b/compat/lib-rhashtable.c
index 30526af..6410c85 100644
--- a/compat/lib-rhashtable.c
+++ b/compat/lib-rhashtable.c
@@ -416,8 +416,12 @@ static void rht_deferred_worker(struct work_struct *work)
else if (tbl->nest)
err = rhashtable_rehash_alloc(ht, tbl, tbl->size);
- if (!err)
- err = rhashtable_rehash_table(ht);
+ if (!err || err == -EEXIST) {
+ int nerr;
+
+ nerr = rhashtable_rehash_table(ht);
+ err = err ?: nerr;
+ }
mutex_unlock(&ht->mutex);