]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: move DMA configuration validation to driver probe
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 27 Feb 2026 09:54:15 +0000 (09:54 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 Mar 2026 02:35:07 +0000 (18:35 -0800)
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) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vvuY3-0000000Avnq-1Spv@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index 1a054453d05eb7772c15ce8d508f15cdb36f1516..029e9b518160372043b58bea2498ffff614977a2 100644 (file)
@@ -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)