diff options
author | Felix Fietkau <nbd@openwrt.org> | 2008-07-17 02:30:08 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2008-07-17 02:30:08 +0000 |
commit | b83f384981232d7ebaff91900f1dd935d9bbb8a5 (patch) | |
tree | 9a6c4a84b220fbf9a9e4066c469eed96abce61f1 /package/madwifi/patches-r3776/126-rxerr_frames.patch | |
parent | d549476c027e2aa6d8c8107cc61008fa03e94263 (diff) | |
download | master-31e0f0ae-b83f384981232d7ebaff91900f1dd935d9bbb8a5.tar.gz master-31e0f0ae-b83f384981232d7ebaff91900f1dd935d9bbb8a5.tar.bz2 master-31e0f0ae-b83f384981232d7ebaff91900f1dd935d9bbb8a5.zip |
huge madwifi update (work in progress, disabled by default, compiles but breaks at run time)
SVN-Revision: 11851
Diffstat (limited to 'package/madwifi/patches-r3776/126-rxerr_frames.patch')
-rw-r--r-- | package/madwifi/patches-r3776/126-rxerr_frames.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/package/madwifi/patches-r3776/126-rxerr_frames.patch b/package/madwifi/patches-r3776/126-rxerr_frames.patch new file mode 100644 index 0000000000..4639b5abfb --- /dev/null +++ b/package/madwifi/patches-r3776/126-rxerr_frames.patch @@ -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]++; |