net: stmmac: fix double serdes powerdown
Commit49725ffc15
("net: stmmac: power up/down serdes in stmmac_open/release") correctly added a call to the serdes_powerdown() callback to stmmac_release() but did not remove the one from stmmac_remove() which leads to a doubled call to serdes_powerdown(). This can lead to all kinds of problems: in the case of the qcom ethqos driver, it caused an unbalanced regulator disable splat. Fixes:49725ffc15
("net: stmmac: power up/down serdes in stmmac_open/release") Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Acked-by: Junxiao Chang <junxiao.chang@intel.com> Reviewed-by: Andrew Halaney <ahalaney@redhat.com> Tested-by: Andrew Halaney <ahalaney@redhat.com> Link: https://lore.kernel.org/r/20230621135537.376649-1-brgl@bgdev.pl Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b9ec61be2d
commit
c4fc88ad2a
|
@ -7457,12 +7457,6 @@ void stmmac_dvr_remove(struct device *dev)
|
|||
netif_carrier_off(ndev);
|
||||
unregister_netdev(ndev);
|
||||
|
||||
/* Serdes power down needs to happen after VLAN filter
|
||||
* is deleted that is triggered by unregister_netdev().
|
||||
*/
|
||||
if (priv->plat->serdes_powerdown)
|
||||
priv->plat->serdes_powerdown(ndev, priv->plat->bsp_priv);
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
stmmac_exit_fs(ndev);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue