summaryrefslogtreecommitdiffstats
path: root/lib/rhashtable.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-03-28 01:37:58 +0100
committerDavid S. Miller <davem@davemloft.net>2019-03-28 01:37:58 +0100
commit356d71e00d278d865f8c7f68adebd6ce4698a7e2 (patch)
tree8cb2dabf7440b56c6dee76b4253210c6b603b98e /lib/rhashtable.c
parentinet: switch IP ID generator to siphash (diff)
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (diff)
downloadlinux-356d71e00d278d865f8c7f68adebd6ce4698a7e2.tar.xz
linux-356d71e00d278d865f8c7f68adebd6ce4698a7e2.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'lib/rhashtable.c')
-rw-r--r--lib/rhashtable.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/rhashtable.c b/lib/rhashtable.c
index f65e43fb1ff8..811d51b7cb86 100644
--- a/lib/rhashtable.c
+++ b/lib/rhashtable.c
@@ -419,8 +419,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);