Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jan 2019 03:36:33 +0000 (UTC)
From:      Andriy Voskoboinyk <avos@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r342827 - stable/12/sys/dev/rtwn/pci
Message-ID:  <201901070336.x073aXNE011652@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avos
Date: Mon Jan  7 03:36:33 2019
New Revision: 342827
URL: https://svnweb.freebsd.org/changeset/base/342827

Log:
  MFC r342672:
  rtwn_pci: fix excessive packet loss on Tx with RTL8188EE.
  
  Use proper flags for bus_dmamap_sync() in Tx path.
  
  MFC r342676:
  rtwn_pci(4): use proper bus_dmamap_sync flags after Tx.

Modified:
  stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c
  stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c
==============================================================================
--- stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c	Mon Jan  7 02:39:40 2019	(r342826)
+++ stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c	Mon Jan  7 03:36:33 2019	(r342827)
@@ -197,7 +197,8 @@ rtwn_pci_tx_done(struct rtwn_softc *sc, int qid)
 	RTWN_DPRINTF(sc, RTWN_DEBUG_INTR, "%s: qid %d, last %d, cur %d\n",
 	    __func__, qid, ring->last, ring->cur);
 
-	bus_dmamap_sync(ring->desc_dmat, ring->desc_map, BUS_DMASYNC_POSTREAD);
+	bus_dmamap_sync(ring->desc_dmat, ring->desc_map,
+	    BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
 
 	while(ring->last != ring->cur) {
 		data = &ring->tx_data[ring->last];

Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c
==============================================================================
--- stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c	Mon Jan  7 02:39:40 2019	(r342826)
+++ stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c	Mon Jan  7 03:36:33 2019	(r342827)
@@ -174,8 +174,8 @@ rtwn_pci_tx_start_frame(struct rtwn_softc *sc, struct 
 	rtwn_dump_tx_desc(sc, txd);
 
 	bus_dmamap_sync(ring->desc_dmat, ring->desc_map,
-	    BUS_DMASYNC_POSTWRITE);
-	bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_POSTWRITE);
+	    BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
+	bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_PREWRITE);
 
 	data->m = m;
 	data->ni = ni;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901070336.x073aXNE011652>