All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath10k: Make ath10k report discarded packets to mac80211
@ 2017-07-24 10:49 ` Ignacio Núñez Hernanz
  0 siblings, 0 replies; 6+ messages in thread
From: Ignacio Núñez Hernanz @ 2017-07-24 10:49 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Ignacio Núñez Hernanz

 From 2caef0e851a23cc9e979a3f36a2ae0d964cfeba7 Mon Sep 17 00:00:00 2001
From: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
Date: Mon, 24 Jul 2017 11:52:48 +0200
Subject: [PATCH] ath10k: Make ath10k report discarded packets to mac80211

Whenever ath10k firmware discards a packet (HTT_TX_COMPL_STATE_DISCARD
flag), the skb is freed and mac80211 does not get feedback through
ieee80211_tx_status().

Instead, make sure that the IEEE80211_TX_STAT_ACK flag is disabled and
let the packet go through, like ath9k does.

Signed-off-by: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
---
  drivers/net/wireless/ath/ath10k/txrx.c | 12 +++++++-----
  1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/txrx.c 
b/drivers/net/wireless/ath/ath10k/txrx.c
index d4986f626c35..37537530de76 100644
--- a/drivers/net/wireless/ath/ath10k/txrx.c
+++ b/drivers/net/wireless/ath/ath10k/txrx.c
@@ -102,11 +102,6 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
      memset(&info->status, 0, sizeof(info->status));
      trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);

-    if (tx_done->status == HTT_TX_COMPL_STATE_DISCARD) {
-        ieee80211_free_txskb(htt->ar->hw, msdu);
-        return 0;
-    }
-
      if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
          info->flags |= IEEE80211_TX_STAT_ACK;

@@ -117,6 +112,13 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
          (info->flags & IEEE80211_TX_CTL_NO_ACK))
          info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED;

+    if (tx_done->status == HTT_TX_COMPL_STATE_DISCARD) {
+          if (info->flags & IEEE80211_TX_CTL_NO_ACK)
+            info->flags &= ~IEEE80211_TX_STAT_NOACK_TRANSMITTED;
+          else
+            info->flags &= ~IEEE80211_TX_STAT_ACK;
+    }
+
      ieee80211_tx_status(htt->ar->hw, msdu);
      /* we do not own the msdu anymore */

-- 
2.13.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] ath10k: Make ath10k report discarded packets to mac80211
@ 2017-07-24 10:49 ` Ignacio Núñez Hernanz
  0 siblings, 0 replies; 6+ messages in thread
From: Ignacio Núñez Hernanz @ 2017-07-24 10:49 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Ignacio Núñez Hernanz

 From 2caef0e851a23cc9e979a3f36a2ae0d964cfeba7 Mon Sep 17 00:00:00 2001
From: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
Date: Mon, 24 Jul 2017 11:52:48 +0200
Subject: [PATCH] ath10k: Make ath10k report discarded packets to mac80211

Whenever ath10k firmware discards a packet (HTT_TX_COMPL_STATE_DISCARD
flag), the skb is freed and mac80211 does not get feedback through
ieee80211_tx_status().

Instead, make sure that the IEEE80211_TX_STAT_ACK flag is disabled and
let the packet go through, like ath9k does.

Signed-off-by: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
---
  drivers/net/wireless/ath/ath10k/txrx.c | 12 +++++++-----
  1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/txrx.c 
b/drivers/net/wireless/ath/ath10k/txrx.c
index d4986f626c35..37537530de76 100644
--- a/drivers/net/wireless/ath/ath10k/txrx.c
+++ b/drivers/net/wireless/ath/ath10k/txrx.c
@@ -102,11 +102,6 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
      memset(&info->status, 0, sizeof(info->status));
      trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);

-    if (tx_done->status == HTT_TX_COMPL_STATE_DISCARD) {
-        ieee80211_free_txskb(htt->ar->hw, msdu);
-        return 0;
-    }
-
      if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
          info->flags |= IEEE80211_TX_STAT_ACK;

@@ -117,6 +112,13 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
          (info->flags & IEEE80211_TX_CTL_NO_ACK))
          info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED;

+    if (tx_done->status == HTT_TX_COMPL_STATE_DISCARD) {
+          if (info->flags & IEEE80211_TX_CTL_NO_ACK)
+            info->flags &= ~IEEE80211_TX_STAT_NOACK_TRANSMITTED;
+          else
+            info->flags &= ~IEEE80211_TX_STAT_ACK;
+    }
+
      ieee80211_tx_status(htt->ar->hw, msdu);
      /* we do not own the msdu anymore */

-- 
2.13.1

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: ath10k: Make ath10k report discarded packets to mac80211
  2017-07-24 10:49 ` Ignacio Núñez Hernanz
  (?)
  (?)
@ 2018-01-29 14:46 ` Kalle Valo
  -1 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2018-01-29 14:46 UTC (permalink / raw)
  To: Ignacio Núñez Hernanz
  Cc: ath10k, linux-wireless, Ignacio Núñez Hernanz

Ignacio Núñez Hernanz wrote:

> Whenever ath10k firmware discards a packet (HTT_TX_COMPL_STATE_DISCARD
> flag), the skb is freed and mac80211 does not get feedback through
> ieee80211_tx_status().
> 
> Instead, make sure that the IEEE80211_TX_STAT_ACK flag is disabled and
> let the packet go through, like ath9k does.
> 
> Signed-off-by: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
> [kvalo@codeaurora.org: rebase patch manually]
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

This didn't apply so I rewrote the patch manually. Please check it from the
pending branch:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=74e9f654262e77676c477f01ce5a6f27237b2f25

-- 
https://patchwork.kernel.org/patch/9859221/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ath10k: Make ath10k report discarded packets to mac80211
  2017-07-24 10:49 ` Ignacio Núñez Hernanz
  (?)
@ 2018-01-29 14:46 ` Kalle Valo
  -1 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2018-01-29 14:46 UTC (permalink / raw)
  To: Ignacio Núñez Hernanz; +Cc: linux-wireless, ath10k

Ignacio Núñez Hernanz wrote:

> Whenever ath10k firmware discards a packet (HTT_TX_COMPL_STATE_DISCARD
> flag), the skb is freed and mac80211 does not get feedback through
> ieee80211_tx_status().
> 
> Instead, make sure that the IEEE80211_TX_STAT_ACK flag is disabled and
> let the packet go through, like ath9k does.
> 
> Signed-off-by: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
> [kvalo@codeaurora.org: rebase patch manually]
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

This didn't apply so I rewrote the patch manually. Please check it from the
pending branch:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=74e9f654262e77676c477f01ce5a6f27237b2f25

-- 
https://patchwork.kernel.org/patch/9859221/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ath10k: Make ath10k report discarded packets to mac80211
  2017-07-24 10:49 ` Ignacio Núñez Hernanz
                   ` (3 preceding siblings ...)
  (?)
@ 2018-02-26 14:52 ` Kalle Valo
  -1 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2018-02-26 14:52 UTC (permalink / raw)
  To: Ignacio Núñez Hernanz
  Cc: ath10k, linux-wireless, Ignacio Núñez Hernanz

Ignacio Núñez Hernanz wrote:

> Whenever ath10k firmware discards a packet (HTT_TX_COMPL_STATE_DISCARD
> flag), the skb is freed and mac80211 does not get feedback through
> ieee80211_tx_status().
> 
> Instead, make sure that the IEEE80211_TX_STAT_ACK flag is disabled and
> let the packet go through, like ath9k does.
> 
> Signed-off-by: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
> [kvalo@codeaurora.org: rebase patch manually]
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

abb374fe8460 ath10k: make ath10k report discarded packets to mac80211

-- 
https://patchwork.kernel.org/patch/9859221/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ath10k: Make ath10k report discarded packets to mac80211
  2017-07-24 10:49 ` Ignacio Núñez Hernanz
                   ` (2 preceding siblings ...)
  (?)
@ 2018-02-26 14:52 ` Kalle Valo
  -1 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2018-02-26 14:52 UTC (permalink / raw)
  To: Ignacio Núñez Hernanz; +Cc: linux-wireless, ath10k

Ignacio Núñez Hernanz wrote:

> Whenever ath10k firmware discards a packet (HTT_TX_COMPL_STATE_DISCARD
> flag), the skb is freed and mac80211 does not get feedback through
> ieee80211_tx_status().
> 
> Instead, make sure that the IEEE80211_TX_STAT_ACK flag is disabled and
> let the packet go through, like ath9k does.
> 
> Signed-off-by: Ignacio Nunez Hernanz <nacho.nunez@aoifes.com>
> [kvalo@codeaurora.org: rebase patch manually]
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

abb374fe8460 ath10k: make ath10k report discarded packets to mac80211

-- 
https://patchwork.kernel.org/patch/9859221/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-02-26 14:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-24 10:49 [PATCH] ath10k: Make ath10k report discarded packets to mac80211 Ignacio Núñez Hernanz
2017-07-24 10:49 ` Ignacio Núñez Hernanz
2018-01-29 14:46 ` Kalle Valo
2018-01-29 14:46 ` Kalle Valo
2018-02-26 14:52 ` Kalle Valo
2018-02-26 14:52 ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.