mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 19:25:21 +02:00
ath9k: fix a crash bug and a dma sync issue
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20833 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
28dec42aa3
commit
5a822569fc
@ -36567,7 +36567,7 @@ index 3c4b5d2..f10bd06 100644
|
|||||||
/* set one try for probe rates. For the
|
/* set one try for probe rates. For the
|
||||||
* probes don't enable rts */
|
* probes don't enable rts */
|
||||||
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
|
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
|
--- a/drivers/net/wireless/ath/ath9k/recv.c
|
||||||
+++ b/drivers/net/wireless/ath/ath9k/recv.c
|
+++ b/drivers/net/wireless/ath/ath9k/recv.c
|
||||||
@@ -16,6 +16,8 @@
|
@@ -16,6 +16,8 @@
|
||||||
@ -36612,7 +36612,7 @@ index 94560e2..9c01c0b 100644
|
|||||||
+
|
+
|
||||||
+ ATH_RXBUF_RESET(bf);
|
+ ATH_RXBUF_RESET(bf);
|
||||||
+ memset(skb->data, 0, ah->caps.rx_status_len);
|
+ 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);
|
+ ah->caps.rx_status_len, DMA_TO_DEVICE);
|
||||||
|
|
||||||
- /* Initialize rx descriptors */
|
- /* Initialize rx descriptors */
|
||||||
@ -37061,7 +37061,7 @@ index 94560e2..9c01c0b 100644
|
|||||||
+ * 1. accessing the frame
|
+ * 1. accessing the frame
|
||||||
+ * 2. requeueing the same buffer to h/w
|
+ * 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,
|
+ common->rx_bufsize,
|
||||||
+ DMA_FROM_DEVICE);
|
+ DMA_FROM_DEVICE);
|
||||||
+
|
+
|
||||||
|
@ -94,8 +94,12 @@
|
|||||||
|
|
||||||
return r;
|
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;
|
txq->axq_tx_inprogress = false;
|
||||||
|
+ if (bf_held)
|
||||||
|
+ list_del(&bf_held->list);
|
||||||
spin_unlock_bh(&txq->axq_lock);
|
spin_unlock_bh(&txq->axq_lock);
|
||||||
|
|
||||||
- if (bf_held) {
|
- if (bf_held) {
|
||||||
|
Loading…
Reference in New Issue
Block a user