From: Jérôme Pouiller Date: Fri, 10 Apr 2020 13:32:22 +0000 (+0200) Subject: staging: wfx: reduce hold duration of cfg80211_bss X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b4d74f7ad1cdfb0099a4c844d3692ccd94b144aa;p=linux.git staging: wfx: reduce hold duration of cfg80211_bss 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 --- 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)