rhashtable: Simplify iterator code
authorThomas Graf <tgraf@suug.ch>
Tue, 5 May 2015 00:22:53 +0000 (02:22 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 May 2015 23:30:47 +0000 (19:30 -0400)
Remove useless obj variable and goto logic.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/rhashtable.c

index b28df4019adedfe182d5c719da62b6bf05c031fe..4936fc4d7f2c97f6206211aef168ba41e95c9e23 100644 (file)
@@ -579,7 +579,6 @@ void *rhashtable_walk_next(struct rhashtable_iter *iter)
        struct bucket_table *tbl = iter->walker->tbl;
        struct rhashtable *ht = iter->ht;
        struct rhash_head *p = iter->p;
-       void *obj = NULL;
 
        if (p) {
                p = rht_dereference_bucket_rcu(p->next, tbl, iter->slot);
@@ -599,8 +598,7 @@ next:
                if (!rht_is_a_nulls(p)) {
                        iter->skip++;
                        iter->p = p;
-                       obj = rht_obj(ht, p);
-                       goto out;
+                       return rht_obj(ht, p);
                }
 
                iter->skip = 0;
@@ -618,9 +616,7 @@ next:
 
        iter->p = NULL;
 
-out:
-
-       return obj;
+       return NULL;
 }
 EXPORT_SYMBOL_GPL(rhashtable_walk_next);