On Wed, Sep 02, 2026 at 08:05:28AM +0000, Aleksei Sviridkin wrote:
quoted hunk ↗ jump to hunk
speed is a u32, so SPEED_UNKNOWN arrives as 0xffffffff and passes the
"speed <= 0" check. A taprio schedule installed while the link is down
then has its hardware interval limit derived from that value, a limit
that rounds to 1 ns, and the first entry fails with a misleading
"exceeds hardware limit". Name the case instead of relying on the
sign.
Fixes: 89934dbf169e ("net: macb: Add TAPRIO traffic scheduling support")
Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <redacted>
---
drivers/net/ethernet/cadence/macb_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index a43855db1e45..81530b9257b2 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -4324,7 +4324,7 @@ static int macb_taprio_setup_replace(struct net_device *netdev,
}
speed = kset.base.speed;
- if (unlikely(speed <= 0)) {
+ if (unlikely(speed == SPEED_UNKNOWN || !speed)) {
Can ethtool_validate_speed() be used?
Andrew
---
pw-bot: cr