diff options
Diffstat (limited to 'compat/lib-rhashtable.c')
-rw-r--r-- | compat/lib-rhashtable.c | 8 |
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); |