Message ID | 20210316074239.2010897-1-weiyongjun1@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [net-next] net: stmmac: fix missing unlock on error in stmmac_suspend() | expand |
On Tue, Mar 16, 2021 at 7:50 AM Edmundo Carmona Antoranz <eantoranz@gmail.com> wrote: > I think you can let it go and check ret after unlocking: > > /* Disable clock in case of PWM is off */ > clk_disable_unprepare(priv->plat->clk_ptp_ref); > ret = pm_runtime_force_suspend(dev); > } > mutex_unlock(&priv->lock); > if (ret) > return ret; Oh, I C. It would require ret to be set to 0 before starting to use it, right? Maybe it's worth it? > > priv->speed = SPEED_UNKNOWN; > return 0; >
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index a10704d8e3c6..d50df998d3aa 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -5400,8 +5400,10 @@ int stmmac_suspend(struct device *dev) /* Disable clock in case of PWM is off */ clk_disable_unprepare(priv->plat->clk_ptp_ref); ret = pm_runtime_force_suspend(dev); - if (ret) + if (ret) { + mutex_unlock(&priv->lock); return ret; + } } mutex_unlock(&priv->lock);