Hello Joao
I was looking at commit 19d9187317979cf0c25f67017d2676149abc46b2 Author: Joao Pinto <joao.pi...@synopsys.com> Date: Fri Mar 10 18:24:59 2017 +0000 net: stmmac: configuration of CBS in case of a TX AVB queue This patch adds the configuration of the AVB Credit-Based Shaper. It looks to me that we loop through all txqueues (including 0) static void stmmac_configure_cbs(struct stmmac_priv *priv) ... for (queue = 0; queue < tx_queues_count; queue++) { ... priv->hw->mac->config_cbs(...) then in static void dwmac4_config_cbs(..) ... value = readl(ioaddr + MTL_ETSX_CTRL_BASE_ADDR(queue)); The MTL_ETSX_CTRL_BASE_ADDR register only exists for txqueues != 0. (Since txqueue0 will always handle legacy traffic.) I think that we need to make sure that we do not enter config_cbs() for txqueue0, even if the user's device tree has txqueue0 set to AVB, since MTL_ETSX_CTRL_BASE_ADDR will evaluate to a non-existing register for txqueue0. Perhaps also clarify how we expect the user to configure his device tree for txqueue0 when using AVB in: Documentation/devicetree/bindings/net/stmmac.txt Best regards, Niklas