aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-04-12 22:30:47 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-04-12 22:30:47 +0000
commit040c06438896144dfe148910f922a0d9bb0058b0 (patch)
tree2caeaf3d2c320ce7ee2feb67f1f748ebd814247b
parent393541dce8995dbe0fc3d4691b382c06e5824b14 (diff)
downloadupstream-040c06438896144dfe148910f922a0d9bb0058b0.tar.gz
upstream-040c06438896144dfe148910f922a0d9bb0058b0.tar.bz2
upstream-040c06438896144dfe148910f922a0d9bb0058b0.zip
ath9k: fix a crash bug and a dma sync issue
SVN-Revision: 20833
-rw-r--r--package/mac80211/patches/300-ar9300_support.patch6
-rw-r--r--package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch6
2 files changed, 8 insertions, 4 deletions
diff --git a/package/mac80211/patches/300-ar9300_support.patch b/package/mac80211/patches/300-ar9300_support.patch
index edeaaf4d59..3545935f51 100644
--- a/package/mac80211/patches/300-ar9300_support.patch
+++ b/package/mac80211/patches/300-ar9300_support.patch
@@ -36567,7 +36567,7 @@ index 3c4b5d2..f10bd06 100644
/* set one try for probe rates. For the
* probes don't enable rts */
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
-index 94560e2..9c01c0b 100644
+index 94560e2..f84fcf0 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -16,6 +16,8 @@
@@ -36612,7 +36612,7 @@ index 94560e2..9c01c0b 100644
+
+ ATH_RXBUF_RESET(bf);
+ memset(skb->data, 0, ah->caps.rx_status_len);
-+ dma_sync_single_for_cpu(sc->dev, bf->bf_buf_addr,
++ dma_sync_single_for_device(sc->dev, bf->bf_buf_addr,
+ ah->caps.rx_status_len, DMA_TO_DEVICE);
- /* Initialize rx descriptors */
@@ -37061,7 +37061,7 @@ index 94560e2..9c01c0b 100644
+ * 1. accessing the frame
+ * 2. requeueing the same buffer to h/w
+ */
-+ dma_sync_single_for_cpu(sc->dev, bf->bf_buf_addr,
++ dma_sync_single_for_device(sc->dev, bf->bf_buf_addr,
+ common->rx_bufsize,
+ DMA_FROM_DEVICE);
+
diff --git a/package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch b/package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch
index ff5591253c..622b577209 100644
--- a/package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch
+++ b/package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch
@@ -94,8 +94,12 @@
return r;
}
-@@ -2123,11 +2121,8 @@ static void ath_tx_processq(struct ath_s
+@@ -2121,13 +2119,12 @@ static void ath_tx_processq(struct ath_s
+ txq->axq_depth--;
+ txok = !(ts.ts_status & ATH9K_TXERR_MASK);
txq->axq_tx_inprogress = false;
++ if (bf_held)
++ list_del(&bf_held->list);
spin_unlock_bh(&txq->axq_lock);
- if (bf_held) {