diff --git a/drivers/net/dsa/mv88e6xxx/global1_atu.c b/drivers/net/dsa/mv88e6xxx/global1_atu.c index 120b7f41a73594..f6cd3c939da459 100644 --- a/drivers/net/dsa/mv88e6xxx/global1_atu.c +++ b/drivers/net/dsa/mv88e6xxx/global1_atu.c @@ -49,11 +49,13 @@ int mv88e6xxx_g1_atu_set_age_time(struct mv88e6xxx_chip *chip, u16 val; int err; - if (msecs < min || msecs > max) - return -ERANGE; - /* Round to nearest multiple of coeff */ - age_time = (msecs + coeff / 2) / coeff; + if (msecs < min) + age_time = 0x1; + else if (msecs > max) + age_time = 0xff; + else + age_time = (msecs + coeff / 2) / coeff; err = mv88e6xxx_g1_read(chip, GLOBAL_ATU_CONTROL, &val); if (err)