Re: [PATCH net-next 2/2] net: stmmac: Check stmmac_hw_setup() in stmmac_resume()

From: Huacai Chen
Date: Wed Jul 23 2025 - 03:57:30 EST


On Tue, Jul 22, 2025 at 2:27 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:
>
> stmmac_hw_setup() may return 0 on success and an appropriate negative
> integer as defined in errno.h file on failure, just check it and then
> return early if failed in stmmac_resume().
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
Reviewed-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index b948df1bff9a..2bfacab71ab9 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -7975,7 +7975,14 @@ int stmmac_resume(struct device *dev)
> stmmac_free_tx_skbufs(priv);
> stmmac_clear_descriptors(priv, &priv->dma_conf);
>
> - stmmac_hw_setup(ndev, false);
> + ret = stmmac_hw_setup(ndev, false);
> + if (ret < 0) {
> + netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
> + mutex_unlock(&priv->lock);
> + rtnl_unlock();
> + return ret;
> + }
> +
> stmmac_init_coalesce(priv);
> phylink_rx_clk_stop_block(priv->phylink);
> stmmac_set_rx_mode(ndev);
> --
> 2.42.0
>
>