From b4d74f7ad1cdfb0099a4c844d3692ccd94b144aa Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Fri, 10 Apr 2020 15:32:22 +0200 Subject: [PATCH] staging: wfx: reduce hold duration of cfg80211_bss MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Link: https://lore.kernel.org/r/20200410133239.438347-3-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/wfx/sta.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 380e5319472a0..c65d464a7a9b3 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) -- 2.30.2