]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
r8169: fix LED-related deadlock on module removal
authorHeiner Kallweit <hkallweit1@gmail.com>
Mon, 8 Apr 2024 18:47:40 +0000 (20:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Apr 2024 09:44:29 +0000 (10:44 +0100)
commit19fa4f2a85d777a8052e869c1b892a2f7556569d
treecc8ac9890224038eaff2f787f082e6d0679c47a5
parent81665adf25d28a00a986533f1d3a5df76b79cad9
r8169: fix LED-related deadlock on module removal

Binding devm_led_classdev_register() to the netdev is problematic
because on module removal we get a RTNL-related deadlock. Fix this
by avoiding the device-managed LED functions.

Note: We can safely call led_classdev_unregister() for a LED even
if registering it failed, because led_classdev_unregister() detects
this and is a no-op in this case.

Fixes: 18764b883e15 ("r8169: add support for LED's on RTL8168/RTL8101")
Cc: stable@vger.kernel.org
Reported-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169.h
drivers/net/ethernet/realtek/r8169_leds.c
drivers/net/ethernet/realtek/r8169_main.c