/* setup outer VLAN ops */
                vlan_ops->set_port_vlan = ice_vsi_set_outer_port_vlan;
                vlan_ops->clear_port_vlan = ice_vsi_clear_outer_port_vlan;
-               vlan_ops->clear_port_vlan = ice_vsi_clear_outer_port_vlan;
 
                /* setup inner VLAN ops */
                vlan_ops = &vsi->inner_vlan_ops;
 
                vlan_ops->set_port_vlan = ice_vsi_set_inner_port_vlan;
                vlan_ops->clear_port_vlan = ice_vsi_clear_inner_port_vlan;
-               vlan_ops->clear_port_vlan = ice_vsi_clear_inner_port_vlan;
        }
+
+       /* all Rx traffic should be in the domain of the assigned port VLAN,
+        * so prevent disabling Rx VLAN filtering
+        */
+       vlan_ops->dis_rx_filtering = noop_vlan;
+
        vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering;
 }
 
                vlan_ops->del_vlan = ice_vsi_del_vlan;
        }
 
+       vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering;
+
        if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags))
                vlan_ops->ena_rx_filtering = noop_vlan;
        else
                &vsi->outer_vlan_ops : &vsi->inner_vlan_ops;
 
        vlan_ops->add_vlan = ice_vsi_add_vlan;
-       vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering;
        vlan_ops->ena_tx_filtering = ice_vsi_ena_tx_vlan_filtering;
        vlan_ops->dis_tx_filtering = ice_vsi_dis_tx_vlan_filtering;
 }