@@ -922,7 +922,7 @@ static uint64_t _mv88e6xxx_get_ethtool_stat(struct mv88e6xxx_chip *chip,
922922 default :
923923 return U64_MAX ;
924924 }
925- value = (((u64 )high ) << 16 ) | low ;
925+ value = (((u64 )high ) << 32 ) | low ;
926926 return value ;
927927}
928928
@@ -3118,7 +3118,7 @@ static const struct mv88e6xxx_ops mv88e6161_ops = {
31183118 .port_disable_pri_override = mv88e6xxx_port_disable_pri_override ,
31193119 .port_link_state = mv88e6352_port_link_state ,
31203120 .port_get_cmode = mv88e6185_port_get_cmode ,
3121- .stats_snapshot = mv88e6320_g1_stats_snapshot ,
3121+ .stats_snapshot = mv88e6xxx_g1_stats_snapshot ,
31223122 .stats_set_histogram = mv88e6095_g1_stats_set_histogram ,
31233123 .stats_get_sset_count = mv88e6095_stats_get_sset_count ,
31243124 .stats_get_strings = mv88e6095_stats_get_strings ,
@@ -4620,6 +4620,14 @@ static int mv88e6xxx_smi_init(struct mv88e6xxx_chip *chip,
46204620 return 0 ;
46214621}
46224622
4623+ static void mv88e6xxx_ports_cmode_init (struct mv88e6xxx_chip * chip )
4624+ {
4625+ int i ;
4626+
4627+ for (i = 0 ; i < mv88e6xxx_num_ports (chip ); i ++ )
4628+ chip -> ports [i ].cmode = MV88E6XXX_PORT_STS_CMODE_INVALID ;
4629+ }
4630+
46234631static enum dsa_tag_protocol mv88e6xxx_get_tag_protocol (struct dsa_switch * ds ,
46244632 int port )
46254633{
@@ -4656,6 +4664,8 @@ static const char *mv88e6xxx_drv_probe(struct device *dsa_dev,
46564664 if (err )
46574665 goto free ;
46584666
4667+ mv88e6xxx_ports_cmode_init (chip );
4668+
46594669 mutex_lock (& chip -> reg_lock );
46604670 err = mv88e6xxx_switch_reset (chip );
46614671 mutex_unlock (& chip -> reg_lock );
0 commit comments