ocelot_port_set_dsa_8021q_cpu(ocelot, port);
 
-       ocelot_apply_bridge_fwd_mask(ocelot, true);
-
        mutex_unlock(&ocelot->fwd_domain_lock);
 }
 
 
        ocelot_port_unset_dsa_8021q_cpu(ocelot, port);
 
-       ocelot_apply_bridge_fwd_mask(ocelot, true);
-
        mutex_unlock(&ocelot->fwd_domain_lock);
 }
 
 
 }
 EXPORT_SYMBOL_GPL(ocelot_get_dsa_8021q_cpu_mask);
 
-void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot, bool joining)
+static void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot, bool joining)
 {
        unsigned long cpu_fwd_mask;
        int port;
        if (!joining && ocelot->ops->cut_through_fwd)
                ocelot->ops->cut_through_fwd(ocelot);
 }
-EXPORT_SYMBOL(ocelot_apply_bridge_fwd_mask);
 
 /* Update PGID_CPU which is the destination port mask used for whitelisting
  * unicast addresses filtered towards the host. In the normal and NPI modes,
                ocelot_vlan_member_add(ocelot, port, vid, true);
 
        ocelot_update_pgid_cpu(ocelot);
+
+       ocelot_apply_bridge_fwd_mask(ocelot, true);
 }
 EXPORT_SYMBOL_GPL(ocelot_port_set_dsa_8021q_cpu);
 
                ocelot_vlan_member_del(ocelot, port, vid);
 
        ocelot_update_pgid_cpu(ocelot);
+
+       ocelot_apply_bridge_fwd_mask(ocelot, true);
 }
 EXPORT_SYMBOL_GPL(ocelot_port_unset_dsa_8021q_cpu);
 
 
 void ocelot_bridge_stp_state_set(struct ocelot *ocelot, int port, u8 state);
 u32 ocelot_get_dsa_8021q_cpu_mask(struct ocelot *ocelot);
 u32 ocelot_get_bridge_fwd_mask(struct ocelot *ocelot, int src_port);
-void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot, bool joining);
 int ocelot_port_pre_bridge_flags(struct ocelot *ocelot, int port,
                                 struct switchdev_brport_flags val);
 void ocelot_port_bridge_flags(struct ocelot *ocelot, int port,