aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Priestley <[email protected]>2020-01-08 21:41:36 +0000
committerGreg Kroah-Hartman <[email protected]>2020-01-10 13:49:19 +0100
commit9dd631fa99dc0a0dfbd191173bf355ba30ea786a (patch)
tree541a276ec92dd41435f39f5431bd73d86c4f999a
parentd579c43c82f093e63639151625b2139166c730fd (diff)
staging: vt6656: Fix false Tx excessive retries reporting.
The driver reporting IEEE80211_TX_STAT_ACK is not being handled correctly. The driver should only report on TSR_TMO flag is not set indicating no transmission errors and when not IEEE80211_TX_CTL_NO_ACK is being requested. Cc: stable <[email protected]> Signed-off-by: Malcolm Priestley <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
-rw-r--r--drivers/staging/vt6656/int.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c
index f40947955675..af215860be4c 100644
--- a/drivers/staging/vt6656/int.c
+++ b/drivers/staging/vt6656/int.c
@@ -99,9 +99,11 @@ static int vnt_int_report_rate(struct vnt_private *priv, u8 pkt_no, u8 tsr)
info->status.rates[0].count = tx_retry;
- if (!(tsr & (TSR_TMO | TSR_RETRYTMO))) {
+ if (!(tsr & TSR_TMO)) {
info->status.rates[0].idx = idx;
- info->flags |= IEEE80211_TX_STAT_ACK;
+
+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
+ info->flags |= IEEE80211_TX_STAT_ACK;
}
ieee80211_tx_status_irqsafe(priv->hw, context->skb);