• Vladimir Oltean's avatar
    net: dsa: sja1105: recalculate gating subschedule after deleting tc-gate rules · 82f6896a
    Vladimir Oltean authored
    Currently, tas_data->enabled would remain true even after deleting all
    tc-gate rules from the switch ports, which would cause the
    sja1105_tas_state_machine to get unnecessarily scheduled.
    
    Also, if there were any errors which would prevent the hardware from
    enabling the gating schedule, the sja1105_tas_state_machine would
    continuously detect and print that, spamming the kernel log, even if the
    rules were subsequently deleted.
    
    The rules themselves are _not_ active, because sja1105_init_scheduling
    does enough of a job to not install the gating schedule in the static
    config. But the virtual link rules themselves are still present.
    
    So call the functions that remove the tc-gate configuration from
    priv->tas_data.gating_cfg, so that tas_data->enabled can be set to
    false, and sja1105_tas_state_machine will stop from being scheduled.
    
    Fixes: 834f8933 ("net: dsa: sja1105: implement tc-gate using time-triggered virtual links")
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    82f6896a
sja1105_vl.c 23 KB