From: Russell King (Oracle) Date: Fri, 27 Feb 2026 09:54:15 +0000 (+0000) Subject: net: stmmac: move DMA configuration validation to driver probe X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=07a8531d44272a1b9fd646f5fc09fc397e5b8a65;p=thirdparty%2Fkernel%2Flinux.git net: stmmac: move DMA configuration validation to driver probe Move the DMA configuration validation from stmmac_init_dma_engine() to the start of the driver probe function. The platform glue is expected to supply the DMA configuration, and a non-zero programmable burst length (bpl). Signed-off-by: Russell King (Oracle) Link: https://patch.msgid.link/E1vvuY3-0000000Avnq-1Spv@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 1a054453d05eb..029e9b5181603 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3244,11 +3244,6 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) u32 chan = 0; int ret = 0; - if (!priv->plat->dma_cfg || !priv->plat->dma_cfg->pbl) { - netdev_err(priv->dev, "Invalid DMA configuration\n"); - return -EINVAL; - } - ret = stmmac_prereset_configure(priv); if (ret) return ret; @@ -7728,6 +7723,11 @@ static int __stmmac_dvr_probe(struct device *device, u32 rxq; int i, ret = 0; + if (!plat_dat->dma_cfg || !plat_dat->dma_cfg->pbl) { + dev_err(device, "invalid DMA configuration\n"); + return -EINVAL; + } + ndev = devm_alloc_etherdev_mqs(device, sizeof(struct stmmac_priv), MTL_MAX_TX_QUEUES, MTL_MAX_RX_QUEUES); if (!ndev)