[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210708094904.3613365-1-gatis@mikrotik.com>
Date: Thu, 8 Jul 2021 12:49:04 +0300
From: Gatis Peisenieks <gatis@...rotik.com>
To: chris.snook@...il.com, davem@...emloft.net, kuba@...nel.org,
hkallweit1@...il.com, jesse.brandeburg@...el.com,
dchickles@...vell.com, tully@...rotik.com, eric.dumazet@...il.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Gatis Peisenieks <gatis@...rotik.com>
Subject: [PATCH net] atl1c: fix Mikrotik 10/25G NIC detection
Since Mikrotik 10/25G NIC MDIO op emulation is not 100% reliable,
on rare occasions it can happen that some physical functions of
the NIC do not get initialized due to timeouted early MDIO op.
This changes the atl1c probe on Mikrotik 10/25G NIC not to
depend on MDIO op emulation.
Signed-off-by: Gatis Peisenieks <gatis@...rotik.com>
---
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c b/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
index 7dff20350865..f19370c33444 100644
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
@@ -594,6 +594,11 @@ int atl1c_phy_init(struct atl1c_hw *hw)
int ret_val;
u16 mii_bmcr_data = BMCR_RESET;
+ if (hw->nic_type == athr_mt) {
+ hw->phy_configured = true;
+ return 0;
+ }
+
if ((atl1c_read_phy_reg(hw, MII_PHYSID1, &hw->phy_id1) != 0) ||
(atl1c_read_phy_reg(hw, MII_PHYSID2, &hw->phy_id2) != 0)) {
dev_err(&pdev->dev, "Error get phy ID\n");
--
2.31.1
Powered by blists - more mailing lists