commit d7aa6b9a2a43ddbf4f55b55a198cb2b91b2b565a Author: Jiri Slaby Date: Tue Jul 24 12:22:25 2007 +0200 sync dma descriptors diff --git a/ath.c b/ath.c index c7a7a20..510f5e6 100644 --- a/ath.c +++ b/ath.c @@ -177,6 +177,9 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq) list_for_each_entry_safe(bf, bf0, &txq->q, list) { ds = bf->desc; + /* TODO only one segment */ + pci_dma_sync_single_for_cpu(sc->pdev, sc->desc_daddr, + sc->desc_len, PCI_DMA_FROMDEVICE); ret = sc->ah->ah_proc_tx_desc(sc->ah, ds); if (unlikely(ret == -EINPROGRESS)) break; @@ -349,6 +352,11 @@ static void ath_tasklet_rx(unsigned long data) BUG_ON(bf->skb == NULL); skb = bf->skb; ds = bf->desc; + + /* TODO only one segment */ + pci_dma_sync_single_for_cpu(sc->pdev, sc->desc_daddr, + sc->desc_len, PCI_DMA_FROMDEVICE); + if (unlikely(ds->ds_link == bf->daddr)) /* this is the end */ break;