bridge: mcast: Use spin_lock() instead of spin_lock_bh()
IGMPv3 / MLDv2 Membership Reports are only processed from the data path with softIRQ disabled, so there is no need to call spin_lock_bh(). Use spin_lock() instead. This is consistent with how other IGMP / MLD packets are processed. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Acked-by: Nikolay Aleksandrov <razor@blackwall.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b526b2ea14
commit
262985fad1
@ -2669,7 +2669,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge_mcast *brmctx,
|
||||
if (!pmctx || igmpv2)
|
||||
continue;
|
||||
|
||||
spin_lock_bh(&brmctx->br->multicast_lock);
|
||||
spin_lock(&brmctx->br->multicast_lock);
|
||||
if (!br_multicast_ctx_should_use(brmctx, pmctx))
|
||||
goto unlock_continue;
|
||||
|
||||
@ -2717,7 +2717,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge_mcast *brmctx,
|
||||
if (changed)
|
||||
br_mdb_notify(brmctx->br->dev, mdst, pg, RTM_NEWMDB);
|
||||
unlock_continue:
|
||||
spin_unlock_bh(&brmctx->br->multicast_lock);
|
||||
spin_unlock(&brmctx->br->multicast_lock);
|
||||
}
|
||||
|
||||
return err;
|
||||
@ -2807,7 +2807,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge_mcast *brmctx,
|
||||
if (!pmctx || mldv1)
|
||||
continue;
|
||||
|
||||
spin_lock_bh(&brmctx->br->multicast_lock);
|
||||
spin_lock(&brmctx->br->multicast_lock);
|
||||
if (!br_multicast_ctx_should_use(brmctx, pmctx))
|
||||
goto unlock_continue;
|
||||
|
||||
@ -2859,7 +2859,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge_mcast *brmctx,
|
||||
if (changed)
|
||||
br_mdb_notify(brmctx->br->dev, mdst, pg, RTM_NEWMDB);
|
||||
unlock_continue:
|
||||
spin_unlock_bh(&brmctx->br->multicast_lock);
|
||||
spin_unlock(&brmctx->br->multicast_lock);
|
||||
}
|
||||
|
||||
return err;
|
||||
|
Loading…
Reference in New Issue
Block a user