summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/546-ath9k_retry_cache_sync.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/546-ath9k_retry_cache_sync.patch')
-rw-r--r--package/mac80211/patches/546-ath9k_retry_cache_sync.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/mac80211/patches/546-ath9k_retry_cache_sync.patch b/package/mac80211/patches/546-ath9k_retry_cache_sync.patch
new file mode 100644
index 000000000..ed543acfa
--- /dev/null
+++ b/package/mac80211/patches/546-ath9k_retry_cache_sync.patch
@@ -0,0 +1,19 @@
+--- a/drivers/net/wireless/ath/ath9k/xmit.c
++++ b/drivers/net/wireless/ath/ath9k/xmit.c
+@@ -263,6 +263,7 @@ static void ath_tx_set_retry(struct ath_
+ struct sk_buff *skb)
+ {
+ struct ath_frame_info *fi = get_frame_info(skb);
++ struct ath_buf *bf = fi->bf;
+ struct ieee80211_hdr *hdr;
+
+ TX_STAT_INC(txq->axq_qnum, a_retries);
+@@ -271,6 +272,8 @@ static void ath_tx_set_retry(struct ath_
+
+ hdr = (struct ieee80211_hdr *)skb->data;
+ hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_RETRY);
++ dma_sync_single_for_device(sc->dev, bf->bf_buf_addr,
++ sizeof(*hdr), DMA_TO_DEVICE);
+ }
+
+ static struct ath_buf *ath_tx_get_buffer(struct ath_softc *sc)