Message ID | 20240320193117.3232-1-davthompson@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d6c30c5a168f8586b8bcc0d8e42e2456eb05209b |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v1] mlxbf_gige: stop PHY during open() error paths | expand |
On Wed, Mar 20, 2024 at 03:31:17PM -0400, David Thompson wrote: > The mlxbf_gige_open() routine starts the PHY as part of normal > initialization. The mlxbf_gige_open() routine must stop the > PHY during its error paths. > > Fixes: f92e1869d74e ("Add Mellanox BlueField Gigabit Ethernet driver") > Signed-off-by: David Thompson <davthompson@nvidia.com> > Reviewed-by: Asmaa Mnebhi <asmaa@nvidia.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
Wed, Mar 20, 2024 at 08:31:17PM CET, davthompson@nvidia.com wrote: >The mlxbf_gige_open() routine starts the PHY as part of normal >initialization. The mlxbf_gige_open() routine must stop the >PHY during its error paths. > >Fixes: f92e1869d74e ("Add Mellanox BlueField Gigabit Ethernet driver") >Signed-off-by: David Thompson <davthompson@nvidia.com> >Reviewed-by: Asmaa Mnebhi <asmaa@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Wed, 20 Mar 2024 15:31:17 -0400 you wrote: > The mlxbf_gige_open() routine starts the PHY as part of normal > initialization. The mlxbf_gige_open() routine must stop the > PHY during its error paths. > > Fixes: f92e1869d74e ("Add Mellanox BlueField Gigabit Ethernet driver") > Signed-off-by: David Thompson <davthompson@nvidia.com> > Reviewed-by: Asmaa Mnebhi <asmaa@nvidia.com> > > [...] Here is the summary with links: - [net,v1] mlxbf_gige: stop PHY during open() error paths https://git.kernel.org/netdev/net/c/d6c30c5a168f You are awesome, thank you!
diff --git a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c index 3d09fa54598f..cef0e2d3f1a7 100644 --- a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c +++ b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c @@ -157,7 +157,7 @@ static int mlxbf_gige_open(struct net_device *netdev) err = mlxbf_gige_tx_init(priv); if (err) - goto free_irqs; + goto phy_deinit; err = mlxbf_gige_rx_init(priv); if (err) goto tx_deinit; @@ -185,6 +185,9 @@ static int mlxbf_gige_open(struct net_device *netdev) tx_deinit: mlxbf_gige_tx_deinit(priv); +phy_deinit: + phy_stop(phydev); + free_irqs: mlxbf_gige_free_irqs(priv); return err;