+++ /dev/null
---- a/ath/if_ath.c
-+++ b/ath/if_ath.c
-@@ -6451,9 +6451,6 @@
- rs = &bf->bf_dsstatus.ds_rxstat;
-
- len = rs->rs_datalen;
-- /* DMA sync. dies spectacularly if len == 0 */
-- if (len == 0)
-- goto rx_next;
- if (rs->rs_more) {
- /* Frame spans multiple descriptors; this
- * cannot happen yet as we don't support
-@@ -6513,8 +6510,12 @@
- * setup again to receive another frame.
- * NB: Meta-data (rs, noise, tsf) in the ath_buf is still
- * used. */
-- bus_dma_sync_single(sc->sc_bdev,
-- bf->bf_skbaddr, len, BUS_DMA_FROMDEVICE);
-+
-+ /* DMA sync. dies spectacularly if len == 0 */
-+ if (len != 0) {
-+ bus_dma_sync_single(sc->sc_bdev,
-+ bf->bf_skbaddr, len, BUS_DMA_FROMDEVICE);
-+ }
- skb = ath_rxbuf_take_skb(sc, bf);
-
- sc->sc_stats.ast_ant_rx[rs->rs_antenna]++;