diff mbox series

[02/19] staging: wfx: reduce hold duration of cfg80211_bss

Message ID 20200410133239.438347-3-Jerome.Pouiller@silabs.com
State New
Headers show
Series [01/19] staging: wfx: fix race between configure_filter and remove_interface | expand

Commit Message

Jérôme Pouiller April 10, 2020, 1:32 p.m. UTC
From: Jérôme Pouiller <jerome.pouiller@silabs.com>

Pointer to cfg80211_bss is held during all duration of wfx_do_join. But,
it is not necessary, We can release it far earlier.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
---
 drivers/staging/wfx/sta.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c
index 380e5319472a..c65d464a7a9b 100644
--- a/drivers/staging/wfx/sta.c
+++ b/drivers/staging/wfx/sta.c
@@ -509,6 +509,7 @@  static void wfx_do_join(struct wfx_vif *wvif)
 		hif_set_block_ack_policy(wvif, 0xFF, 0xFF);
 
 	wfx_set_mfp(wvif, bss);
+	cfg80211_put_bss(wvif->wdev->hw->wiphy, bss);
 
 	ret = hif_join(wvif, conf, wvif->channel, ssid, ssidlen);
 	if (ret) {
@@ -538,8 +539,6 @@  static void wfx_do_join(struct wfx_vif *wvif)
 	wfx_update_filtering(wvif);
 
 	mutex_unlock(&wvif->wdev->conf_mutex);
-	if (bss)
-		cfg80211_put_bss(wvif->wdev->hw->wiphy, bss);
 }
 
 static void wfx_unjoin_work(struct work_struct *work)