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@loongson.cn>
---
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
On Tue, Jul 22, 2025 at 2:27 PM Tiezhu Yang <yangtiezhu@loongson.cn> 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@loongson.cn>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
> ---
> 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
>
>
On Tue, 22 Jul 2025 14:27:16 +0800 Tiezhu Yang <yangtiezhu@loongson.cn> 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@loongson.cn> Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Maxime
© 2016 - 2026 Red Hat, Inc.