[PATCH AUTOSEL 5.4 324/330] mt76: fix LED link time failure

Sasha Levin sashal at kernel.org
Thu Sep 17 22:01:04 EDT 2020

From: Arnd Bergmann <arnd at arndb.de>

[ Upstream commit d68f4e43a46ff1f772ff73085f96d44eb4163e9d ]

The mt76_led_cleanup() function is called unconditionally, which
leads to a link error when CONFIG_LEDS is a loadable module or
disabled but mt76 is built-in:

drivers/net/wireless/mediatek/mt76/mac80211.o: In function `mt76_unregister_device':
mac80211.c:(.text+0x2ac): undefined reference to `led_classdev_unregister'

Use the same trick that is guarding the registration, using an
IS_ENABLED() check for the CONFIG_MT76_LEDS symbol that indicates
whether LEDs can be used or not.

Fixes: 36f7e2b2bb1d ("mt76: do not use devm API for led classdev")
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Acked-by: Felix Fietkau <nbd at nbd.name>
Signed-off-by: Kalle Valo <kvalo at codeaurora.org>
Signed-off-by: Sasha Levin <sashal at kernel.org>
 drivers/net/wireless/mediatek/mt76/mac80211.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c
index 7be5806a1c398..8bd191347b9fb 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -368,7 +368,8 @@ void mt76_unregister_device(struct mt76_dev *dev)
 	struct ieee80211_hw *hw = dev->hw;
-	mt76_led_cleanup(dev);
+		mt76_led_cleanup(dev);
 	mt76_tx_status_check(dev, NULL, true);

More information about the linux-arm-kernel mailing list