@@ -907,19 +907,18 @@ static int emac_ndo_vlan_rx_add_vid(struct net_device *ndev,
907
907
{
908
908
struct prueth_emac * emac = netdev_priv (ndev );
909
909
struct prueth * prueth = emac -> prueth ;
910
+ int port_mask = BIT (emac -> port_id );
910
911
int untag_mask = 0 ;
911
- int port_mask ;
912
912
913
- if (prueth -> is_hsr_offload_mode ) {
914
- port_mask = BIT (PRUETH_PORT_HOST ) | BIT (emac -> port_id );
915
- untag_mask = 0 ;
913
+ if (prueth -> is_hsr_offload_mode )
914
+ port_mask |= BIT (PRUETH_PORT_HOST );
916
915
917
- netdev_dbg (emac -> ndev , "VID add vid:%u port_mask:%X untag_mask %X\n" ,
918
- vid , port_mask , untag_mask );
916
+ netdev_dbg (emac -> ndev , "VID add vid:%u port_mask:%X untag_mask %X\n" ,
917
+ vid , port_mask , untag_mask );
918
+
919
+ icssg_vtbl_modify (emac , vid , port_mask , untag_mask , true);
920
+ icssg_set_pvid (emac -> prueth , vid , emac -> port_id );
919
921
920
- icssg_vtbl_modify (emac , vid , port_mask , untag_mask , true);
921
- icssg_set_pvid (emac -> prueth , vid , emac -> port_id );
922
- }
923
922
return 0 ;
924
923
}
925
924
@@ -928,18 +927,16 @@ static int emac_ndo_vlan_rx_del_vid(struct net_device *ndev,
928
927
{
929
928
struct prueth_emac * emac = netdev_priv (ndev );
930
929
struct prueth * prueth = emac -> prueth ;
930
+ int port_mask = BIT (emac -> port_id );
931
931
int untag_mask = 0 ;
932
- int port_mask ;
933
932
934
- if (prueth -> is_hsr_offload_mode ) {
933
+ if (prueth -> is_hsr_offload_mode )
935
934
port_mask = BIT (PRUETH_PORT_HOST );
936
- untag_mask = 0 ;
937
935
938
- netdev_dbg (emac -> ndev , "VID del vid:%u port_mask:%X untag_mask %X\n" ,
939
- vid , port_mask , untag_mask );
936
+ netdev_dbg (emac -> ndev , "VID del vid:%u port_mask:%X untag_mask %X\n" ,
937
+ vid , port_mask , untag_mask );
938
+ icssg_vtbl_modify (emac , vid , port_mask , untag_mask , false);
940
939
941
- icssg_vtbl_modify (emac , vid , port_mask , untag_mask , false);
942
- }
943
940
return 0 ;
944
941
}
945
942
0 commit comments