Remove bogus check for MT_PACKET_ID_NO_ACK in mt76_tx_status_skb_get, which
is already handled in callers and turns timeout calls into no-ops
Do not clean up pending status items on reordering of tx status information
if the timeout is not reached yet

Signed-off-by: Felix Fietkau <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/tx.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/tx.c 
b/drivers/net/wireless/mediatek/mt76/tx.c
index ef38e8626da9..5a349fe3e576 100644
--- a/drivers/net/wireless/mediatek/mt76/tx.c
+++ b/drivers/net/wireless/mediatek/mt76/tx.c
@@ -205,9 +205,6 @@ mt76_tx_status_skb_get(struct mt76_dev *dev, struct 
mt76_wcid *wcid, int pktid,
 {
        struct sk_buff *skb, *tmp;
 
-       if (pktid == MT_PACKET_ID_NO_ACK)
-               return NULL;
-
        skb_queue_walk_safe(&dev->status_list, skb, tmp) {
                struct mt76_tx_cb *cb = mt76_tx_skb_cb(skb);
 
@@ -217,7 +214,7 @@ mt76_tx_status_skb_get(struct mt76_dev *dev, struct 
mt76_wcid *wcid, int pktid,
                if (cb->pktid == pktid)
                        return skb;
 
-               if (!pktid &&
+               if (pktid >= 0 &&
                    !time_after(jiffies, cb->jiffies + 
MT_TX_STATUS_SKB_TIMEOUT))
                        continue;
 
-- 
2.17.0

Reply via email to