vxlan: do not need BH again in vxlan_cleanup()
authorLitao Jiao <jiaolitao@raisecom.com>
Wed, 6 Mar 2019 04:01:48 +0000 (12:01 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Mar 2019 22:45:42 +0000 (14:45 -0800)
vxlan_cleanup() is a timer callback, it is already
and only running in BH context.

Signed-off-by: Litao Jiao <jiaolitao@raisecom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c

index 76abd31e8d56f0ae6567d86feaaac9f8a71c2893..7610c51b33a0bd4e021fdf8dbe7609e391d40c12 100644 (file)
@@ -2690,7 +2690,7 @@ static void vxlan_cleanup(struct timer_list *t)
        for (h = 0; h < FDB_HASH_SIZE; ++h) {
                struct hlist_node *p, *n;
 
-               spin_lock_bh(&vxlan->hash_lock);
+               spin_lock(&vxlan->hash_lock);
                hlist_for_each_safe(p, n, &vxlan->fdb_head[h]) {
                        struct vxlan_fdb *f
                                = container_of(p, struct vxlan_fdb, hlist);
@@ -2712,7 +2712,7 @@ static void vxlan_cleanup(struct timer_list *t)
                        } else if (time_before(timeout, next_timer))
                                next_timer = timeout;
                }
-               spin_unlock_bh(&vxlan->hash_lock);
+               spin_unlock(&vxlan->hash_lock);
        }
 
        mod_timer(&vxlan->age_timer, next_timer);