huge madwifi update (work in progress, disabled by default, compiles but breaks at...
[openwrt.git] / package / madwifi / patches-r3776 / 126-rxerr_frames.patch
diff --git a/package/madwifi/patches-r3776/126-rxerr_frames.patch b/package/madwifi/patches-r3776/126-rxerr_frames.patch
new file mode 100644 (file)
index 0000000..4639b5a
--- /dev/null
@@ -0,0 +1,29 @@
+Index: madwifi-trunk-r3776/ath/if_ath.c
+===================================================================
+--- madwifi-trunk-r3776.orig/ath/if_ath.c      2008-07-17 00:52:28.000000000 +0200
++++ madwifi-trunk-r3776/ath/if_ath.c   2008-07-17 00:53:04.000000000 +0200
+@@ -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]++;
This page took 0.019882 seconds and 4 git commands to generate.