[Linux-stm32] [PATCH net-next 06/11] net: stmmac: add __stmmac_release() to complement __stmmac_open()

Gatien CHEVALLIER gatien.chevallier at foss.st.com
Wed Sep 10 07:39:19 PDT 2025



On 9/9/25 18:47, Russell King (Oracle) wrote:
> Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>

Hi Russell,

This is missing a commit message.

> ---
>   .../net/ethernet/stmicro/stmmac/stmmac_main.c | 41 +++++++++++--------
>   1 file changed, 25 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index efce7b37f704..cb058e4c6ea9 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -3965,10 +3965,6 @@ static int __stmmac_open(struct net_device *dev,
>   	if (!priv->tx_lpi_timer)
>   		priv->tx_lpi_timer = eee_timer * 1000;
>   
> -	ret = pm_runtime_resume_and_get(priv->device);
> -	if (ret < 0)
> -		return ret;
> -
>   	if ((!priv->hw->xpcs ||
>   	     xpcs_get_an_mode(priv->hw->xpcs, mode) != DW_AN_C73)) {
>   		ret = stmmac_init_phy(dev);
> @@ -3976,7 +3972,7 @@ static int __stmmac_open(struct net_device *dev,
>   			netdev_err(priv->dev,
>   				   "%s: Cannot attach to PHY (error: %d)\n",
>   				   __func__, ret);
> -			goto init_phy_error;
> +			return ret;
>   		}
>   	}
>   
> @@ -4028,8 +4024,6 @@ static int __stmmac_open(struct net_device *dev,
>   	stmmac_release_ptp(priv);
>   init_error:
>   	phylink_disconnect_phy(priv->phylink);
> -init_phy_error:
> -	pm_runtime_put(priv->device);
>   	return ret;
>   }
>   
> @@ -4043,21 +4037,23 @@ static int stmmac_open(struct net_device *dev)
>   	if (IS_ERR(dma_conf))
>   		return PTR_ERR(dma_conf);
>   
> +	ret = pm_runtime_resume_and_get(priv->device);
> +	if (ret < 0)
> +		goto err;
> +
>   	ret = __stmmac_open(dev, dma_conf);
> -	if (ret)
> +	if (ret) {
> +		pm_runtime_put(priv->device);
> +err:
>   		free_dma_desc_resources(priv, dma_conf);
> +	}
>   
>   	kfree(dma_conf);
> +
>   	return ret;
>   }
>   
> -/**
> - *  stmmac_release - close entry point of the driver
> - *  @dev : device pointer.
> - *  Description:
> - *  This is the stop entry point of the driver.
> - */
> -static int stmmac_release(struct net_device *dev)
> +static void __stmmac_release(struct net_device *dev)
>   {
>   	struct stmmac_priv *priv = netdev_priv(dev);
>   	u32 chan;
> @@ -4097,6 +4093,19 @@ static int stmmac_release(struct net_device *dev)
>   
>   	if (stmmac_fpe_supported(priv))
>   		ethtool_mmsv_stop(&priv->fpe_cfg.mmsv);
> +}
> +
> +/**
> + *  stmmac_release - close entry point of the driver
> + *  @dev : device pointer.
> + *  Description:
> + *  This is the stop entry point of the driver.
> + */
> +static int stmmac_release(struct net_device *dev)
> +{
> +	struct stmmac_priv *priv = netdev_priv(dev);
> +
> +	__stmmac_release(dev);
>   
>   	pm_runtime_put(priv->device);
>   
> @@ -5895,7 +5904,7 @@ static int stmmac_change_mtu(struct net_device *dev, int new_mtu)
>   			return PTR_ERR(dma_conf);
>   		}
>   
> -		stmmac_release(dev);
> +		__stmmac_release(dev);
>   
>   		ret = __stmmac_open(dev, dma_conf);
>   		if (ret) {



More information about the linux-arm-kernel mailing list