staging: wfx: also fix network parameters for IBSS networks
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Mon, 20 Apr 2020 16:03:00 +0000 (18:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 11:26:03 +0000 (13:26 +0200)
Current code skip some configuration during joining an IBSS network.
Indeed, it seems that this configuration is not used in IBSS. However,
it would be harmless to set them. In add, we would prefer to keep
association processes for ad-hoc and managed networks the closest as
possible. It also ensures the values of internal parameters of the
firmware.

Therefore, apply them unconditionally.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200420160311.57323-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/sta.c

index a0c8416..a0c7737 100644 (file)
@@ -494,14 +494,13 @@ static void wfx_join_finalize(struct wfx_vif *wvif,
        bss_params.aid = info->aid;
 
        hif_set_association_mode(wvif, info);
+       hif_keep_alive_period(wvif, 0);
+       hif_set_bss_params(wvif, &bss_params);
+       hif_set_beacon_wakeup_period(wvif, 1, 1);
+       wfx_update_pm(wvif);
 
-       if (!info->ibss_joined) {
+       if (!info->ibss_joined)
                wvif->state = WFX_STATE_STA;
-               hif_keep_alive_period(wvif, 0);
-               hif_set_bss_params(wvif, &bss_params);
-               hif_set_beacon_wakeup_period(wvif, 1, 1);
-               wfx_update_pm(wvif);
-       }
 }
 
 int wfx_join_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif)