mac80211: Minor optimization in tx status handling
ieee80211_tx_status iterates over all tx rates the driver reports back in order to 1) mark tx rates as invalid if the driver cannot have tried that rate 2) find the actually used tx rate for the final retransmission By leaving the for loop when the first invalid rate index is found we can move the rates_idx assignment after the loop and therefore save a few assignments and conditionals. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
a9cbe96d19
Коммит
be7974aa10
|
@ -189,16 +189,19 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
|
|||
bool acked;
|
||||
|
||||
for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) {
|
||||
if (info->status.rates[i].idx < 0) {
|
||||
break;
|
||||
} else if (i >= hw->max_report_rates) {
|
||||
/* the HW cannot have attempted that rate */
|
||||
if (i >= hw->max_report_rates) {
|
||||
info->status.rates[i].idx = -1;
|
||||
info->status.rates[i].count = 0;
|
||||
} else if (info->status.rates[i].idx >= 0) {
|
||||
rates_idx = i;
|
||||
break;
|
||||
}
|
||||
|
||||
retry_count += info->status.rates[i].count;
|
||||
}
|
||||
rates_idx = i - 1;
|
||||
|
||||
if (retry_count < 0)
|
||||
retry_count = 0;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче