Author: adrian
Date: Sun Jun  5 03:33:46 2011
New Revision: 222707
URL: http://svn.freebsd.org/changeset/base/222707

Log:
  Add a missing call to sync the DMAed buffer before the radar event data is 
extracted.

Modified:
  head/sys/dev/ath/if_ath.c

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c   Sun Jun  5 02:44:04 2011        (r222706)
+++ head/sys/dev/ath/if_ath.c   Sun Jun  5 03:33:46 2011        (r222707)
@@ -3473,7 +3473,15 @@ ath_rx_proc(void *arg, int npending)
                        if (rs->rs_status & HAL_RXERR_PHY) {
                                sc->sc_stats.ast_rx_phyerr++;
                                /* Process DFS radar events */
-                               ath_dfs_process_phy_err(sc, mtod(m, char *), 
tsf, rs);
+                               if ((rs->rs_phyerr == HAL_PHYERR_RADAR) ||
+                                   (rs->rs_phyerr == 
HAL_PHYERR_FALSE_RADAR_EXT)) {
+                                       /* Since we're touching the frame data, 
sync it */
+                                       bus_dmamap_sync(sc->sc_dmat,
+                                           bf->bf_dmamap,
+                                           BUS_DMASYNC_POSTREAD);
+                                       /* Now pass it to the radar processing 
code */
+                                       ath_dfs_process_phy_err(sc, mtod(m, 
char *), tsf, rs);
+                               }
 
                                /* Be suitably paranoid about receiving phy 
errors out of the stats array bounds */
                                if (rs->rs_phyerr < 64)
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to