vxlan: do not need BH again in vxlan_cleanup()

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>
This commit is contained in:
Litao Jiao 2019-03-06 12:01:48 +08:00 committed by David S. Miller
parent d394d33bee
commit f98ec78851

View file

@ -2690,7 +2690,7 @@ static void vxlan_cleanup(struct timer_list *t)
for (h = 0; h < FDB_HASH_SIZE; ++h) { for (h = 0; h < FDB_HASH_SIZE; ++h) {
struct hlist_node *p, *n; 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]) { hlist_for_each_safe(p, n, &vxlan->fdb_head[h]) {
struct vxlan_fdb *f struct vxlan_fdb *f
= container_of(p, struct vxlan_fdb, hlist); = 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)) } else if (time_before(timeout, next_timer))
next_timer = timeout; next_timer = timeout;
} }
spin_unlock_bh(&vxlan->hash_lock); spin_unlock(&vxlan->hash_lock);
} }
mod_timer(&vxlan->age_timer, next_timer); mod_timer(&vxlan->age_timer, next_timer);