ath9k: handle tx underrun in the driver instead of rate control
Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
此提交包含在:
@@ -1354,22 +1354,6 @@ static void ath_tx_status(void *priv, struct ieee80211_supported_band *sband,
|
||||
tx_info->status.ampdu_len = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* If an underrun error is seen assume it as an excessive retry only
|
||||
* if max frame trigger level has been reached (2 KB for singel stream,
|
||||
* and 4 KB for dual stream). Adjust the long retry as if the frame was
|
||||
* tried hw->max_rate_tries times to affect how ratectrl updates PER for
|
||||
* the failed rate. In case of congestion on the bus penalizing these
|
||||
* type of underruns should help hardware actually transmit new frames
|
||||
* successfully by eventually preferring slower rates. This itself
|
||||
* should also alleviate congestion on the bus.
|
||||
*/
|
||||
if ((tx_info->pad[0] & ATH_TX_INFO_UNDERRUN) &&
|
||||
(sc->sc_ah->tx_trig_level >= ath_rc_priv->tx_triglevel_max)) {
|
||||
tx_status = 1;
|
||||
is_underrun = 1;
|
||||
}
|
||||
|
||||
if (!(tx_info->flags & IEEE80211_TX_STAT_ACK))
|
||||
tx_status = 1;
|
||||
|
||||
@@ -1596,8 +1580,6 @@ static void *ath_rate_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rate_priv->tx_triglevel_max = sc->sc_ah->caps.tx_triglevel_max;
|
||||
|
||||
return rate_priv;
|
||||
}
|
||||
|
||||
|
新增問題並參考
封鎖使用者