summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/320-rx_dma_unmap.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/320-rx_dma_unmap.patch')
-rw-r--r--package/mac80211/patches/320-rx_dma_unmap.patch37
1 files changed, 0 insertions, 37 deletions
diff --git a/package/mac80211/patches/320-rx_dma_unmap.patch b/package/mac80211/patches/320-rx_dma_unmap.patch
deleted file mode 100644
index a22320a..0000000
--- a/package/mac80211/patches/320-rx_dma_unmap.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-When freeing rx dma descriptors, use the right buffer size.
-Fixes kernel oopses on module unload on ixp4xx and most likely
-other platforms as well.
-
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-
---- a/drivers/net/wireless/ath5k/base.c
-+++ b/drivers/net/wireless/ath5k/base.c
-@@ -310,6 +310,19 @@ static inline void ath5k_txbuf_free(stru
- bf->skb = NULL;
- }
-
-+static inline void ath5k_rxbuf_free(struct ath5k_softc *sc,
-+ struct ath5k_buf *bf)
-+{
-+ BUG_ON(!bf);
-+ if (!bf->skb)
-+ return;
-+ pci_unmap_single(sc->pdev, bf->skbaddr, sc->rxbufsize,
-+ PCI_DMA_FROMDEVICE);
-+ dev_kfree_skb_any(bf->skb);
-+ bf->skb = NULL;
-+}
-+
-+
- /* Queues setup */
- static struct ath5k_txq *ath5k_txq_setup(struct ath5k_softc *sc,
- int qtype, int subtype);
-@@ -1343,7 +1356,7 @@ ath5k_desc_free(struct ath5k_softc *sc,
- list_for_each_entry(bf, &sc->txbuf, list)
- ath5k_txbuf_free(sc, bf);
- list_for_each_entry(bf, &sc->rxbuf, list)
-- ath5k_txbuf_free(sc, bf);
-+ ath5k_rxbuf_free(sc, bf);
-
- /* Free memory associated with all descriptors */
- pci_free_consistent(pdev, sc->desc_len, sc->desc, sc->desc_daddr);