summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/546-ath9k_retry_cache_sync.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-08-30 20:59:57 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-08-30 20:59:57 +0000
commit22d1073f1cf6250f42cd1a8373003900bb4b123c (patch)
treea4271a905aca417d04f9afc42931958648238c4d /package/mac80211/patches/546-ath9k_retry_cache_sync.patch
parent6d8d46d3c62298adbcc730d48b42129bd057e652 (diff)
ath9k: add a missing dma cache sync on aggregation software retry
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28132 3c298f89-4303-0410-b956-a3cf2f4a3e73
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)