提交 2c87c6f9 编写于 作者: H Heiner Kallweit 提交者: Jakub Kicinski

net: phy: meson-gxl: improve link-up behavior

Sometimes the link comes up but no data flows. This patch fixes
this behavior. It's not clear what's the root cause of the issue.

According to the tests one other link-up issue remains.
In very rare cases the link isn't even reported as up.

Fixes: 84c8f773 ("net: phy: meson-gxl: remove the use of .ack_callback()")
Tested-by: NErico Nunes <nunes.erico@gmail.com>
Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/e3473452-a1f9-efcf-5fdd-02b6f44c3fcd@gmail.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
上级 00b022f8
...@@ -243,6 +243,12 @@ static irqreturn_t meson_gxl_handle_interrupt(struct phy_device *phydev) ...@@ -243,6 +243,12 @@ static irqreturn_t meson_gxl_handle_interrupt(struct phy_device *phydev)
irq_status == INTSRC_ENERGY_DETECT) irq_status == INTSRC_ENERGY_DETECT)
return IRQ_HANDLED; return IRQ_HANDLED;
/* Give PHY some time before MAC starts sending data. This works
* around an issue where network doesn't come up properly.
*/
if (!(irq_status & INTSRC_LINK_DOWN))
phy_queue_state_machine(phydev, msecs_to_jiffies(100));
else
phy_trigger_machine(phydev); phy_trigger_machine(phydev);
return IRQ_HANDLED; return IRQ_HANDLED;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册