Commit 2c87c6f9 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jakub Kicinski
Browse files

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: default avatarErico Nunes <nunes.erico@gmail.com>
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/e3473452-a1f9-efcf-5fdd-02b6f44c3fcd@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 00b022f8
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -243,6 +243,12 @@ static irqreturn_t meson_gxl_handle_interrupt(struct phy_device *phydev)
	    irq_status == INTSRC_ENERGY_DETECT)
		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);

	return IRQ_HANDLED;