]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-6.1/mlxbf_gige-stop-phy-during-open-error-paths.patch
6.1-stable patches
[thirdparty/kernel/stable-queue.git] / queue-6.1 / mlxbf_gige-stop-phy-during-open-error-paths.patch
1 From 7ef84b32f9117df759cab77aa0a5044bfca1c4a4 Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Wed, 20 Mar 2024 15:31:17 -0400
4 Subject: mlxbf_gige: stop PHY during open() error paths
5
6 From: David Thompson <davthompson@nvidia.com>
7
8 [ Upstream commit d6c30c5a168f8586b8bcc0d8e42e2456eb05209b ]
9
10 The mlxbf_gige_open() routine starts the PHY as part of normal
11 initialization. The mlxbf_gige_open() routine must stop the
12 PHY during its error paths.
13
14 Fixes: f92e1869d74e ("Add Mellanox BlueField Gigabit Ethernet driver")
15 Signed-off-by: David Thompson <davthompson@nvidia.com>
16 Reviewed-by: Asmaa Mnebhi <asmaa@nvidia.com>
17 Reviewed-by: Andrew Lunn <andrew@lunn.ch>
18 Reviewed-by: Jiri Pirko <jiri@nvidia.com>
19 Signed-off-by: David S. Miller <davem@davemloft.net>
20 Signed-off-by: Sasha Levin <sashal@kernel.org>
21 ---
22 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c | 5 ++++-
23 1 file changed, 4 insertions(+), 1 deletion(-)
24
25 diff --git a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
26 index 83c4659390fd5..113e3d9d33530 100644
27 --- a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
28 +++ b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
29 @@ -157,7 +157,7 @@ static int mlxbf_gige_open(struct net_device *netdev)
30
31 err = mlxbf_gige_tx_init(priv);
32 if (err)
33 - goto free_irqs;
34 + goto phy_deinit;
35 err = mlxbf_gige_rx_init(priv);
36 if (err)
37 goto tx_deinit;
38 @@ -185,6 +185,9 @@ static int mlxbf_gige_open(struct net_device *netdev)
39 tx_deinit:
40 mlxbf_gige_tx_deinit(priv);
41
42 +phy_deinit:
43 + phy_stop(phydev);
44 +
45 free_irqs:
46 mlxbf_gige_free_irqs(priv);
47 return err;
48 --
49 2.43.0
50