diff --git a/mt7996/mac.c b/mt7996/mac.c index f7694faf2..31157112a 100644 --- a/mt7996/mac.c +++ b/mt7996/mac.c @@ -1360,13 +1360,14 @@ mt7996_mac_tx_free(struct mt7996_dev *dev, void *data, int len) cur_info++; continue; } else if (info & MT_TXFREE_INFO_HEADER) { - u32 tx_retries = 0, tx_failed = 0; + u32 tx_retries = 0, tx_failed = 0, tx_count; if (!wcid) continue; - tx_retries = - FIELD_GET(MT_TXFREE_INFO_COUNT, info) - 1; + tx_count = FIELD_GET(MT_TXFREE_INFO_COUNT, info); + if (tx_count) + tx_retries = tx_count - 1; tx_failed = tx_retries + !!FIELD_GET(MT_TXFREE_INFO_STAT, info);