From: Karol Jurczenia If the interface is down before setting a TC block, the queues are already disabled and setup cannot proceed. Reviewed-by: Konrad Leszczynski Reviewed-by: Sebastian Basierski Signed-off-by: Karol Jurczenia --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index bda1a83607c0..9cf7f85c10b6 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6245,6 +6245,9 @@ static int stmmac_setup_tc_block_cb(enum tc_setup_type type, void *type_data, struct stmmac_priv *priv = cb_priv; int ret = -EOPNOTSUPP; + if (!netif_running(priv->dev)) + return -EINVAL; + if (!tc_cls_can_offload_and_chain0(priv->dev, type_data)) return ret; -- 2.34.1