staging: wfx: do not wait for a dtim before associate
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Wed, 15 Apr 2020 16:11:33 +0000 (18:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Apr 2020 10:29:41 +0000 (12:29 +0200)
The only reason we ask to mac80211 to wait for a dtim before to
associate is to get an accurate DTIM value. However, we can temporary
set the dtim period to 1. Then we can waiting for
BSS_CHANGED_BEACON_INFO for the real value. Thus, the association
process is faster.

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

index b8a01ba0d38135d7b37d2a3df53e4926ba78ba80..8a2c96dacd63f896149c72a8564399cf4493e641 100644 (file)
@@ -288,7 +288,6 @@ struct wfx_dev *wfx_init_common(struct device *dev,
 
        SET_IEEE80211_DEV(hw, dev);
 
-       ieee80211_hw_set(hw, NEED_DTIM_BEFORE_ASSOC);
        ieee80211_hw_set(hw, TX_AMPDU_SETUP_IN_HW);
        ieee80211_hw_set(hw, AMPDU_AGGREGATION);
        ieee80211_hw_set(hw, CONNECTION_MONITOR);
index 7255899b4a5a088689fef3a1236a477eac4f0125..c8a23146cae0250c565314b6932e26ee5a9e84a9 100644 (file)
@@ -630,8 +630,7 @@ static void wfx_join_finalize(struct wfx_vif *wvif,
                wvif->state = WFX_STATE_STA;
                hif_keep_alive_period(wvif, 0);
                hif_set_bss_params(wvif, &wvif->bss_params);
-               hif_set_beacon_wakeup_period(wvif, info->dtim_period,
-                                            info->dtim_period);
+               hif_set_beacon_wakeup_period(wvif, 1, 1);
                wfx_update_pm(wvif);
        }
 }