|
@@ -31,10 +31,12 @@
|
|
|
#include "led.h"
|
|
|
|
|
|
#define IEEE80211_AUTH_TIMEOUT (HZ / 5)
|
|
|
+#define IEEE80211_AUTH_TIMEOUT_LONG (HZ / 2)
|
|
|
#define IEEE80211_AUTH_TIMEOUT_SHORT (HZ / 10)
|
|
|
#define IEEE80211_AUTH_MAX_TRIES 3
|
|
|
#define IEEE80211_AUTH_WAIT_ASSOC (HZ * 5)
|
|
|
#define IEEE80211_ASSOC_TIMEOUT (HZ / 5)
|
|
|
+#define IEEE80211_ASSOC_TIMEOUT_LONG (HZ / 2)
|
|
|
#define IEEE80211_ASSOC_TIMEOUT_SHORT (HZ / 10)
|
|
|
#define IEEE80211_ASSOC_MAX_TRIES 3
|
|
|
|
|
@@ -3394,10 +3396,13 @@ static int ieee80211_probe_auth(struct ieee80211_sub_if_data *sdata)
|
|
|
|
|
|
if (tx_flags == 0) {
|
|
|
auth_data->timeout = jiffies + IEEE80211_AUTH_TIMEOUT;
|
|
|
- ifmgd->auth_data->timeout_started = true;
|
|
|
+ auth_data->timeout_started = true;
|
|
|
run_again(sdata, auth_data->timeout);
|
|
|
} else {
|
|
|
- auth_data->timeout_started = false;
|
|
|
+ auth_data->timeout =
|
|
|
+ round_jiffies_up(jiffies + IEEE80211_AUTH_TIMEOUT_LONG);
|
|
|
+ auth_data->timeout_started = true;
|
|
|
+ run_again(sdata, auth_data->timeout);
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
@@ -3434,7 +3439,11 @@ static int ieee80211_do_assoc(struct ieee80211_sub_if_data *sdata)
|
|
|
assoc_data->timeout_started = true;
|
|
|
run_again(sdata, assoc_data->timeout);
|
|
|
} else {
|
|
|
- assoc_data->timeout_started = false;
|
|
|
+ assoc_data->timeout =
|
|
|
+ round_jiffies_up(jiffies +
|
|
|
+ IEEE80211_ASSOC_TIMEOUT_LONG);
|
|
|
+ assoc_data->timeout_started = true;
|
|
|
+ run_again(sdata, assoc_data->timeout);
|
|
|
}
|
|
|
|
|
|
return 0;
|