r8169: fix deadlock on RTL8125 in jumbo mtu mode
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 26 Nov 2023 18:36:46 +0000 (19:36 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 28 Nov 2023 11:50:24 +0000 (12:50 +0100)
commit59d395ed606d8df14615712b0cdcdadb2d962175
treed9dbbb2442983f9c7b7af187d0bfe7ffbf804c7b
parent45b3fae4675dc1d4ee2d7aefa19d85ee4f891377
r8169: fix deadlock on RTL8125 in jumbo mtu mode

The original change results in a deadlock if jumbo mtu mode is used.
Reason is that the phydev lock is held when rtl_reset_work() is called
here, and rtl_jumbo_config() calls phy_start_aneg() which also tries
to acquire the phydev lock. Fix this by calling rtl_reset_work()
asynchronously.

Fixes: 621735f59064 ("r8169: fix rare issue with broken rx after link-down on RTL8125")
Reported-by: Ian Chen <free122448@hotmail.com>
Tested-by: Ian Chen <free122448@hotmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/caf6a487-ef8c-4570-88f9-f47a659faf33@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/realtek/r8169_main.c