> @@ -704,7 +710,7 @@ static void lan9303_get_ethtool_stats(struct dsa_switch 
> *ds, int port,
>       unsigned int u, poff;
>       int ret;
>  
> -     poff = port * 0x400;
> +     poff = LAN9303_SWITCH_PORT_REG(port, 0);
>  
>       for (u = 0; u < ARRAY_SIZE(lan9303_mib); u++) {
>               ret = lan9303_read_switch_reg(chip,

So the actual code is:

        for (u = 0; u < ARRAY_SIZE(lan9303_mib); u++) {
                ret = lan9303_read_switch_reg(chip,
                                              lan9303_mib[u].offset + poff,
                                              &reg);

Could this be written as

        for (u = 0; u < ARRAY_SIZE(lan9303_mib); u++) {
                ret = lan9303_read_switch_port(chip, port, 
lan9303_mib[u].offset, &reg);

It is then clear you are reading the statistics from a port register.

   Andrew

Reply via email to