diff mbox series

[3/4] wifi: rtw89: fix unsuccessful interface_add flow

Message ID 20221202061527.505668-4-pkshih@realtek.com (mailing list archive)
State Accepted
Commit 8fc5d4338620b81b1b265c725b38aced8acf8d72
Delegated to: Kalle Valo
Headers show
Series wifi: rtw89: correct settings for multiple VIFs | expand

Commit Message

Ping-Ke Shih Dec. 2, 2022, 6:15 a.m. UTC
From: Po-Hao Huang <phhuang@realtek.com>

Remove according vifs from list if we couldn't set this interface up.
Otherwise the rtwvif_list could contain unreferenced objects.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
---
 drivers/net/wireless/realtek/rtw89/mac80211.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw89/mac80211.c b/drivers/net/wireless/realtek/rtw89/mac80211.c
index 0c86d416b7ad2..f9b95c52916bb 100644
--- a/drivers/net/wireless/realtek/rtw89/mac80211.c
+++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
@@ -125,6 +125,7 @@  static int rtw89_ops_add_interface(struct ieee80211_hw *hw,
 						  RTW89_PORT_NUM);
 	if (rtwvif->port == RTW89_PORT_NUM) {
 		ret = -ENOSPC;
+		list_del_init(&rtwvif->list);
 		goto out;
 	}
 
@@ -138,6 +139,7 @@  static int rtw89_ops_add_interface(struct ieee80211_hw *hw,
 	ret = rtw89_mac_add_vif(rtwdev, rtwvif);
 	if (ret) {
 		rtw89_core_release_bit_map(rtwdev->hw_port, rtwvif->port);
+		list_del_init(&rtwvif->list);
 		goto out;
 	}