diff --git a/drivers/net/ethernet/mscc/ocelot_stats.c b/drivers/net/ethernet/mscc/ocelot_stats.c index 1478c3b21af1..cb196775489e 100644 --- a/drivers/net/ethernet/mscc/ocelot_stats.c +++ b/drivers/net/ethernet/mscc/ocelot_stats.c @@ -611,7 +611,8 @@ static int ocelot_prepare_stats_regions(struct ocelot *ocelot) if (!ocelot_stats_layout[i].reg) continue; - if (region && ocelot_stats_layout[i].reg == last + 4) { + if (region && ocelot->map[SYS][ocelot_stats_layout[i].reg & REG_MASK] == + ocelot->map[SYS][last & REG_MASK] + 4) { region->count++; } else { region = devm_kzalloc(ocelot->dev, sizeof(*region),