Revert "bridge: use _bh spinlock variant for br_fdb_update to avoid lockup"
authorDavid S. Miller <davem@davemloft.net>
Mon, 8 Jun 2015 02:43:47 +0000 (19:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Jun 2015 02:43:47 +0000 (19:43 -0700)
This reverts commit 1d7c49037b12016e7056b9f2c990380e2187e766.

Nikolay Aleksandrov has a better version of this fix.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_fdb.c

index 7eacc8ae9779928dd682d3b90b3570318d265d80..e0670d7054f97c05d46b74952ee53d6fa6910776 100644 (file)
@@ -569,7 +569,7 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source,
                                fdb_notify(br, fdb, RTM_NEWNEIGH);
                }
        } else {
-               spin_lock_bh(&br->hash_lock);
+               spin_lock(&br->hash_lock);
                if (likely(!fdb_find(head, addr, vid))) {
                        fdb = fdb_create(head, source, addr, vid);
                        if (fdb) {
@@ -581,7 +581,7 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source,
                /* else  we lose race and someone else inserts
                 * it first, don't bother updating
                 */
-               spin_unlock_bh(&br->hash_lock);
+               spin_unlock(&br->hash_lock);
        }
 }