staging: r8188eu: improve timeout handling in rtw_check_join_candidate
authorMartin Kaiser <martin@kaiser.cx>
Sat, 9 Apr 2022 16:32:07 +0000 (18:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Apr 2022 13:49:58 +0000 (15:49 +0200)
Use the standard kernel functions to define and check the timeout in
rtw_check_join_candidate.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220409163212.241122-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_mlme.c

index c90f36dee1ea0a5ced7c22e28307681855956267..aa39f07847c2de88e785da3c41fe5af92c5511a7 100644 (file)
@@ -1419,6 +1419,7 @@ static int rtw_check_join_candidate(struct mlme_priv *pmlmepriv
 {
        int updated = false;
        struct adapter *adapter = container_of(pmlmepriv, struct adapter, mlmepriv);
+       unsigned long scan_res_expire;
 
        /* check bssid, if needed */
        if (pmlmepriv->assoc_by_bssid) {
@@ -1436,8 +1437,9 @@ static int rtw_check_join_candidate(struct mlme_priv *pmlmepriv
        if (!rtw_is_desired_network(adapter, competitor))
                goto exit;
 
+       scan_res_expire = competitor->last_scanned + msecs_to_jiffies(RTW_SCAN_RESULT_EXPIRE);
        if (rtw_to_roaming(adapter) > 0) {
-               if (rtw_get_passing_time_ms((u32)competitor->last_scanned) >= RTW_SCAN_RESULT_EXPIRE ||
+               if (time_after(jiffies, scan_res_expire) ||
                    !is_same_ess(&competitor->network, &pmlmepriv->cur_network.network))
                        goto exit;
        }