diff options
-rw-r--r-- | net/bridge/br_fdb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index e0670d7054f9..659fb96672e4 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c | |||
@@ -796,9 +796,11 @@ static int __br_fdb_add(struct ndmsg *ndm, struct net_bridge_port *p, | |||
796 | int err = 0; | 796 | int err = 0; |
797 | 797 | ||
798 | if (ndm->ndm_flags & NTF_USE) { | 798 | if (ndm->ndm_flags & NTF_USE) { |
799 | local_bh_disable(); | ||
799 | rcu_read_lock(); | 800 | rcu_read_lock(); |
800 | br_fdb_update(p->br, p, addr, vid, true); | 801 | br_fdb_update(p->br, p, addr, vid, true); |
801 | rcu_read_unlock(); | 802 | rcu_read_unlock(); |
803 | local_bh_enable(); | ||
802 | } else { | 804 | } else { |
803 | spin_lock_bh(&p->br->hash_lock); | 805 | spin_lock_bh(&p->br->hash_lock); |
804 | err = fdb_add_entry(p, addr, ndm->ndm_state, | 806 | err = fdb_add_entry(p, addr, ndm->ndm_state, |