* [PATCH] ath10k: skip management frames in HTT path @ 2014-02-25 6:56 Janusz Dziedzic 2014-02-26 17:16 ` Kalle Valo 2014-02-27 16:42 ` Kalle Valo 0 siblings, 2 replies; 4+ messages in thread From: Janusz Dziedzic @ 2014-02-25 6:56 UTC (permalink / raw) To: ath10k; +Cc: linux-wireless, Janusz Dziedzic After we pass frames with INV_PEER to upper layer in patch: ath10k: pass frames with invalid peer status to upper layer we could pass some management frames (in case INVALID_PEER and MGMT_CTRL) twice to upper layer, once via WMI and once via HTT. Next we could handle assoc request twice. This patch remove such regression. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> --- drivers/net/wireless/ath/ath10k/htt_rx.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c index c7a5822..316433f 100644 --- a/drivers/net/wireless/ath/ath10k/htt_rx.c +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c @@ -852,6 +852,20 @@ static bool ath10k_htt_rx_has_mic_err(struct sk_buff *skb) return false; } +static bool ath10k_htt_rx_is_mgmt(struct sk_buff *skb) +{ + struct htt_rx_desc *rxd; + u32 flags; + + rxd = (void *)skb->data - sizeof(*rxd); + flags = __le32_to_cpu(rxd->attention.flags); + + if (flags & RX_ATTENTION_FLAGS_MGMT_TYPE) + return true; + + return false; +} + static int ath10k_htt_rx_get_csum_state(struct sk_buff *skb) { struct htt_rx_desc *rxd; @@ -944,7 +958,8 @@ static void ath10k_htt_rx_handler(struct ath10k_htt *htt, status = info.status; /* Skip mgmt frames while we handle this in WMI */ - if (status == HTT_RX_IND_MPDU_STATUS_MGMT_CTRL) { + if (status == HTT_RX_IND_MPDU_STATUS_MGMT_CTRL || + ath10k_htt_rx_is_mgmt(msdu_head)) { ath10k_htt_rx_free_msdu_chain(msdu_head); continue; } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ath10k: skip management frames in HTT path 2014-02-25 6:56 [PATCH] ath10k: skip management frames in HTT path Janusz Dziedzic @ 2014-02-26 17:16 ` Kalle Valo 2014-02-27 6:52 ` Janusz Dziedzic 2014-02-27 16:42 ` Kalle Valo 1 sibling, 1 reply; 4+ messages in thread From: Kalle Valo @ 2014-02-26 17:16 UTC (permalink / raw) To: Janusz Dziedzic; +Cc: ath10k, linux-wireless Janusz Dziedzic <janusz.dziedzic@tieto.com> writes: > After we pass frames with INV_PEER to upper layer in patch: > > ath10k: pass frames with invalid peer status to upper layer > > we could pass some management frames (in case INVALID_PEER > and MGMT_CTRL) twice to upper layer, once via WMI and once > via HTT. Next we could handle assoc request twice. This > patch remove such regression. > > Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> I saw a conflict and also did some commit log cleanup. Please check: https://github.com/kvalo/ath/commit/dd0063fba4434d22fb8a6e6d79bf23cc36f6916a -- Kalle Valo ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ath10k: skip management frames in HTT path 2014-02-26 17:16 ` Kalle Valo @ 2014-02-27 6:52 ` Janusz Dziedzic 0 siblings, 0 replies; 4+ messages in thread From: Janusz Dziedzic @ 2014-02-27 6:52 UTC (permalink / raw) To: Kalle Valo; +Cc: ath10k, linux-wireless On 26 February 2014 18:16, Kalle Valo <kvalo@qca.qualcomm.com> wrote: > Janusz Dziedzic <janusz.dziedzic@tieto.com> writes: > >> After we pass frames with INV_PEER to upper layer in patch: >> >> ath10k: pass frames with invalid peer status to upper layer >> >> we could pass some management frames (in case INVALID_PEER >> and MGMT_CTRL) twice to upper layer, once via WMI and once >> via HTT. Next we could handle assoc request twice. This >> patch remove such regression. >> >> Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> > > I saw a conflict and also did some commit log cleanup. Please check: > > https://github.com/kvalo/ath/commit/dd0063fba4434d22fb8a6e6d79bf23cc36f6916a > looks good. BR Janusz ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ath10k: skip management frames in HTT path 2014-02-25 6:56 [PATCH] ath10k: skip management frames in HTT path Janusz Dziedzic 2014-02-26 17:16 ` Kalle Valo @ 2014-02-27 16:42 ` Kalle Valo 1 sibling, 0 replies; 4+ messages in thread From: Kalle Valo @ 2014-02-27 16:42 UTC (permalink / raw) To: Janusz Dziedzic; +Cc: ath10k, linux-wireless Janusz Dziedzic <janusz.dziedzic@tieto.com> writes: > After we pass frames with INV_PEER to upper layer in patch: > > ath10k: pass frames with invalid peer status to upper layer > > we could pass some management frames (in case INVALID_PEER > and MGMT_CTRL) twice to upper layer, once via WMI and once > via HTT. Next we could handle assoc request twice. This > patch remove such regression. > > Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Thanks, applied. -- Kalle Valo ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-02-27 16:42 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-02-25 6:56 [PATCH] ath10k: skip management frames in HTT path Janusz Dziedzic 2014-02-26 17:16 ` Kalle Valo 2014-02-27 6:52 ` Janusz Dziedzic 2014-02-27 16:42 ` Kalle Valo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).