diff options
| author | David S. Miller <davem@davemloft.net> | 2020-10-02 13:36:07 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2020-10-02 13:36:07 -0700 |
| commit | cb307c2d845d823da206dcaca80edb71ff9e6bc4 (patch) | |
| tree | a75b5229db47acc061133db3c00e7825d32e40f9 /drivers | |
| parent | c16bcd70a11b52d20877aa4e0b59285690a1b268 (diff) | |
| parent | 3a68844dd2d8b3fd23f92894b6628e02a530b445 (diff) | |
Merge branch 'net-dsa-Improve-dsa_untag_bridge_pvid'
Florian Fainelli says:
====================
net: dsa: Improve dsa_untag_bridge_pvid()
This patch series is based on the recent discussions with Vladimir:
https://lore.kernel.org/netdev/20201001030623.343535-1-f.fainelli@gmail.com/
the simplest way forward was to call dsa_untag_bridge_pvid() after
eth_type_trans() has been set which guarantees that skb->protocol is set
to a correct value and this allows us to utilize
__vlan_find_dev_deep_rcu() properly without playing or using the bridge
master as a net_device reference.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/dsa/b53/b53_common.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c index 73507cff3bc4..ce18ba0b74eb 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -2603,6 +2603,7 @@ struct b53_device *b53_switch_alloc(struct device *base, dev->ops = ops; ds->ops = &b53_switch_ops; ds->configure_vlan_while_not_filtering = true; + ds->untag_bridge_pvid = true; dev->vlan_enabled = ds->configure_vlan_while_not_filtering; mutex_init(&dev->reg_mutex); mutex_init(&dev->stats_mutex); |
