mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76: only mark tx-status-failed frames as ACKed on mt76x0/2
The interrupt status polling is unreliable, which can cause status events to get lost. On all newer chips, txs-timeout is an indication that the packet was either never sent, or never acked. Fixes issues with inactivity polling. Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -100,7 +100,8 @@ __mt76_tx_status_skb_done(struct mt76_dev *dev, struct sk_buff *skb, u8 flags,
|
||||
return;
|
||||
|
||||
/* Tx status can be unreliable. if it fails, mark the frame as ACKed */
|
||||
if (flags & MT_TX_CB_TXS_FAILED) {
|
||||
if (flags & MT_TX_CB_TXS_FAILED &&
|
||||
(dev->drv->drv_flags & MT_DRV_IGNORE_TXS_FAILED)) {
|
||||
info->status.rates[0].count = 0;
|
||||
info->status.rates[0].idx = -1;
|
||||
info->flags |= IEEE80211_TX_STAT_ACK;
|
||||
|
||||
Reference in New Issue
Block a user