RE: [RFC PATCH] net: stmmac: remove rtnl unlock/lock sequence from stmmac_resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Edmundo Carmona Antoranz <eantoranz@xxxxxxxxx>
> Sent: 2021年10月14日 20:44
> To: Joakim Zhang <qiangqing.zhang@xxxxxxx>
> Cc: kernel-janitors@xxxxxxxxxxxxxxx; Edmundo Carmona Antoranz
> <eantoranz@xxxxxxxxx>
> Subject: [RFC PATCH] net: stmmac: remove rtnl unlock/lock sequence from
> stmmac_resume
> 
> 90702dcd19c ("net: stmmac: fix MAC not working when system resume back
> with WoL active") introduced a section of code in stmmac_resume that is
> protected with rtnl_lock/rtnl_unlock. However, the call to
> rtnl_unlock() is followed by an already existing call to rtnl_lock().
> 
> Instead of unlock/lock, allow the prexisting lock to continue.
> 
> Signed-off-by: Edmundo Carmona Antoranz <eantoranz@xxxxxxxxx>
> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index eb3b7bf771d7..5e69380027af 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -7263,9 +7263,7 @@ int stmmac_resume(struct device *dev)
>  		if (device_may_wakeup(priv->device))
>  			phylink_speed_up(priv->phylink);
>  	}
> -	rtnl_unlock();
> 
> -	rtnl_lock();
>  	mutex_lock(&priv->lock);
> 
>  	stmmac_reset_queues_param(priv);
> --
> 2.33.0
> 
> Is this a valid patch? Perhaps the lock is released in the middle on purpose but I
> would assume it was just an little oversight.

Hi Edmundo,

When I prepared this fix, I also notice this unlock/lock. Finally, I decide to do this way, since I just want to
use rtnl lock to protect what I changed, that means this code change is not belong to what rtnl lock to protect next.
Such as, someone can add code after this rtnl_unlock and before rtnl_lock...

Emm, if you want to send this patch to fix it, I am also fine, please may do some stress test, thanks.

Best Regards,
Joakim Zhang





[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux