Lines Matching refs:amn
41 #define is_success(amn) \
42 ((amn)->amn_retrycnt < (amn)->amn_txcnt / 10)
43 #define is_failure(amn) \
44 ((amn)->amn_retrycnt > (amn)->amn_txcnt / 3)
45 #define is_enough(amn) \
46 ((amn)->amn_txcnt > 10)
55 #define reset_cnt(amn) \
56 do { (amn)->amn_txcnt = (amn)->amn_retrycnt = 0; } while (0)
60 struct ieee80211_amrr_node *amn)
62 amn->amn_success = 0;
63 amn->amn_recovery = 0;
64 amn->amn_txcnt = amn->amn_retrycnt = 0;
65 amn->amn_success_threshold = amrr->amrr_min_success_threshold;
73 struct ieee80211_amrr_node *amn)
77 if (is_success(amn) && is_enough(amn)) {
78 amn->amn_success++;
79 if (amn->amn_success >= amn->amn_success_threshold &&
81 amn->amn_recovery = 1;
82 amn->amn_success = 0;
88 amn->amn_txcnt, amn->amn_retrycnt);
91 amn->amn_recovery = 0;
93 } else if (is_failure(amn)) {
94 amn->amn_success = 0;
96 if (amn->amn_recovery) {
97 amn->amn_success_threshold *= 2;
98 if (amn->amn_success_threshold >
100 amn->amn_success_threshold =
103 amn->amn_success_threshold =
111 amn->amn_txcnt, amn->amn_retrycnt);
114 amn->amn_recovery = 0;
117 if (is_enough(amn) || need_change)
118 reset_cnt(amn);