2015-01-19 13:13:39

by Michal Kazior

[permalink] [raw]
Subject: [PATCH] ath10k: fix nullfunc workaround

The workaround couldn't work correctly because the
802.11 header wasn't properly stripped of QoS Data
bit so it wasn't recognized in the later parts of
tx path as NullFunc frame and ended up in HTT Tx
instead of HTT Mgmt Tx.

Signed-off-by: Michal Kazior <[email protected]>
---
drivers/net/wireless/ath/ath10k/mac.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 9524bc5..82c567d 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -2145,6 +2145,7 @@ static void ath10k_tx_h_nwifi(struct ieee80211_hw *hw, struct sk_buff *skb)
* used only for CQM purposes (e.g. hostapd station keepalive ping) so
* it is safe to downgrade to NullFunc.
*/
+ hdr = (void *)skb->data;
if (ieee80211_is_qos_nullfunc(hdr->frame_control)) {
hdr->frame_control &= ~__cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
cb->htt.tid = HTT_DATA_TX_EXT_TID_NON_QOS_MCAST_BCAST;
--
1.8.5.3



2015-01-27 14:20:48

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath10k: fix nullfunc workaround

Michal Kazior <[email protected]> writes:

> The workaround couldn't work correctly because the
> 802.11 header wasn't properly stripped of QoS Data
> bit so it wasn't recognized in the later parts of
> tx path as NullFunc frame and ended up in HTT Tx
> instead of HTT Mgmt Tx.
>
> Signed-off-by: Michal Kazior <[email protected]>

Thanks, applied to ath.git.

--
Kalle Valo