diff options
Diffstat (limited to 'package/madwifi/patches-r3776/300-napi_polling.patch')
-rw-r--r-- | package/madwifi/patches-r3776/300-napi_polling.patch | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/package/madwifi/patches-r3776/300-napi_polling.patch b/package/madwifi/patches-r3776/300-napi_polling.patch index 25d0265..cf32b34 100644 --- a/package/madwifi/patches-r3776/300-napi_polling.patch +++ b/package/madwifi/patches-r3776/300-napi_polling.patch @@ -1,7 +1,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c =================================================================== ---- madwifi-trunk-r3776.orig/ath/if_ath.c 2008-07-18 20:35:03.000000000 +0200 -+++ madwifi-trunk-r3776/ath/if_ath.c 2008-07-18 20:37:47.000000000 +0200 +--- madwifi-trunk-r3776.orig/ath/if_ath.c 2008-07-18 23:26:43.000000000 +0200 ++++ madwifi-trunk-r3776/ath/if_ath.c 2008-07-18 23:29:26.000000000 +0200 @@ -182,7 +182,11 @@ struct sk_buff *, int, int, u_int64_t); static void ath_setdefantenna(struct ath_softc *, u_int); @@ -174,13 +174,13 @@ Index: madwifi-trunk-r3776/ath/if_ath.c /* * Block/unblock tx+rx processing while a key change is done. * We assume the caller serializes key management operations -@@ -4119,33 +4195,26 @@ +@@ -4119,33 +4195,23 @@ ath_key_update_begin(struct ieee80211vap *vap) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; - DPRINTF(sc, ATH_DEBUG_KEYCACHE, "Begin\n"); +- DPRINTF(sc, ATH_DEBUG_KEYCACHE, "Begin\n"); /* * When called from the rx tasklet we cannot use * tasklet_disable because it will block waiting @@ -203,17 +203,16 @@ Index: madwifi-trunk-r3776/ath/if_ath.c struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; - DPRINTF(sc, ATH_DEBUG_KEYCACHE, "End\n"); +- DPRINTF(sc, ATH_DEBUG_KEYCACHE, "End\n"); - netif_wake_queue(dev); - if (!in_softirq()) /* NB: see above */ - tasklet_enable(&sc->sc_rxtq); -+ + if ((dev->flags & (IFF_UP|IFF_RUNNING)) == (IFF_UP|IFF_RUNNING)) + netif_wake_queue(dev); } /* -@@ -6405,15 +6474,25 @@ +@@ -6405,15 +6471,25 @@ sc->sc_numrxotherant = 0; } @@ -243,7 +242,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc ? sc->sc_ah : NULL; struct ath_desc *ds; -@@ -6421,6 +6500,7 @@ +@@ -6421,6 +6497,7 @@ struct ieee80211_node *ni; struct sk_buff *skb = NULL; unsigned int len, phyerr, mic_fail = 0; @@ -251,7 +250,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c int type = -1; /* undefined */ int init_ret = 0; int bf_processed = 0; -@@ -6428,6 +6508,7 @@ +@@ -6428,6 +6505,7 @@ int errors = 0; DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s started...\n", __func__); @@ -259,7 +258,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c do { /* Get next RX buffer pending processing by RX tasklet... * -@@ -6457,6 +6538,10 @@ +@@ -6457,6 +6535,10 @@ break; bf_processed++; @@ -270,7 +269,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c ds = bf->bf_desc; #ifdef AR_DEBUG -@@ -6491,6 +6576,7 @@ +@@ -6491,6 +6573,7 @@ sc->sc_stats.ast_rx_phyerr++; phyerr = rs->rs_phyerr & 0x1f; sc->sc_stats.ast_rx_phy[phyerr]++; @@ -278,7 +277,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c } if (rs->rs_status & HAL_RXERR_DECRYPT) { /* Decrypt error. If the error occurred -@@ -6689,6 +6775,33 @@ +@@ -6689,6 +6772,33 @@ STAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list); ATH_RXBUF_UNLOCK_IRQ(sc); } while (1); @@ -312,7 +311,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c if (sc->sc_useintmit) ath_hal_rxmonitor(ah, &sc->sc_halstats, &sc->sc_curchan); -@@ -6701,6 +6814,12 @@ +@@ -6701,6 +6811,12 @@ " %d rx buf processed. %d were errors. %d skb accepted.\n", __func__, bf_processed, errors, skb_accepted); #undef PA2DESC @@ -325,7 +324,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c } #ifdef ATH_SUPERG_XR -@@ -8306,12 +8425,24 @@ +@@ -8306,12 +8422,24 @@ { struct net_device *dev = (struct net_device *)data; struct ath_softc *sc = dev->priv; @@ -350,7 +349,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c netif_wake_queue(dev); if (sc->sc_softled) -@@ -8327,7 +8458,9 @@ +@@ -8327,7 +8455,9 @@ { struct net_device *dev = (struct net_device *)data; struct ath_softc *sc = dev->priv; @@ -360,7 +359,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c /* * Process each active queue. */ -@@ -8357,6 +8490,16 @@ +@@ -8357,6 +8487,16 @@ if (sc->sc_uapsdq && txqactive(sc->sc_ah, sc->sc_uapsdq->axq_qnum)) ath_tx_processq(sc, sc->sc_uapsdq); @@ -377,7 +376,7 @@ Index: madwifi-trunk-r3776/ath/if_ath.c netif_wake_queue(dev); if (sc->sc_softled) -@@ -10322,9 +10465,9 @@ +@@ -10322,9 +10462,9 @@ dev->mtu = mtu; if ((dev->flags & IFF_RUNNING) && !sc->sc_invalid) { /* NB: the rx buffers may need to be reallocated */ @@ -391,8 +390,8 @@ Index: madwifi-trunk-r3776/ath/if_ath.c Index: madwifi-trunk-r3776/ath/if_athvar.h =================================================================== ---- madwifi-trunk-r3776.orig/ath/if_athvar.h 2008-07-18 20:35:03.000000000 +0200 -+++ madwifi-trunk-r3776/ath/if_athvar.h 2008-07-18 20:37:09.000000000 +0200 +--- madwifi-trunk-r3776.orig/ath/if_athvar.h 2008-07-18 23:26:22.000000000 +0200 ++++ madwifi-trunk-r3776/ath/if_athvar.h 2008-07-18 23:27:47.000000000 +0200 @@ -56,6 +56,10 @@ # include <asm/bitops.h> #endif @@ -441,8 +440,8 @@ Index: madwifi-trunk-r3776/ath/if_athvar.h #define ATH_RXBUF_LOCK_DESTROY(_sc) Index: madwifi-trunk-r3776/net80211/ieee80211_skb.c =================================================================== ---- madwifi-trunk-r3776.orig/net80211/ieee80211_skb.c 2008-07-18 20:32:42.000000000 +0200 -+++ madwifi-trunk-r3776/net80211/ieee80211_skb.c 2008-07-18 20:35:03.000000000 +0200 +--- madwifi-trunk-r3776.orig/net80211/ieee80211_skb.c 2008-07-18 23:26:22.000000000 +0200 ++++ madwifi-trunk-r3776/net80211/ieee80211_skb.c 2008-07-18 23:27:47.000000000 +0200 @@ -73,7 +73,7 @@ #undef dev_queue_xmit #undef kfree_skb @@ -474,8 +473,8 @@ Index: madwifi-trunk-r3776/net80211/ieee80211_skb.c EXPORT_SYMBOL(skb_clone_debug); Index: madwifi-trunk-r3776/net80211/ieee80211_skb.h =================================================================== ---- madwifi-trunk-r3776.orig/net80211/ieee80211_skb.h 2008-07-18 20:32:42.000000000 +0200 -+++ madwifi-trunk-r3776/net80211/ieee80211_skb.h 2008-07-18 20:35:03.000000000 +0200 +--- madwifi-trunk-r3776.orig/net80211/ieee80211_skb.h 2008-07-18 23:26:22.000000000 +0200 ++++ madwifi-trunk-r3776/net80211/ieee80211_skb.h 2008-07-18 23:27:47.000000000 +0200 @@ -115,7 +115,7 @@ int vlan_hwaccel_rx_debug(struct sk_buff *skb, struct vlan_group *grp, @@ -507,8 +506,8 @@ Index: madwifi-trunk-r3776/net80211/ieee80211_skb.h #define dev_alloc_skb(_length) \ Index: madwifi-trunk-r3776/net80211/ieee80211_input.c =================================================================== ---- madwifi-trunk-r3776.orig/net80211/ieee80211_input.c 2008-07-18 20:32:42.000000000 +0200 -+++ madwifi-trunk-r3776/net80211/ieee80211_input.c 2008-07-18 20:37:09.000000000 +0200 +--- madwifi-trunk-r3776.orig/net80211/ieee80211_input.c 2008-07-18 23:26:22.000000000 +0200 ++++ madwifi-trunk-r3776/net80211/ieee80211_input.c 2008-07-18 23:27:47.000000000 +0200 @@ -1185,7 +1185,7 @@ ret = vlan_hwaccel_rx(skb, vap->iv_vlgrp, ni->ni_vlan); @@ -529,8 +528,8 @@ Index: madwifi-trunk-r3776/net80211/ieee80211_input.c } Index: madwifi-trunk-r3776/net80211/ieee80211_monitor.c =================================================================== ---- madwifi-trunk-r3776.orig/net80211/ieee80211_monitor.c 2008-07-18 20:32:42.000000000 +0200 -+++ madwifi-trunk-r3776/net80211/ieee80211_monitor.c 2008-07-18 20:35:03.000000000 +0200 +--- madwifi-trunk-r3776.orig/net80211/ieee80211_monitor.c 2008-07-18 23:26:22.000000000 +0200 ++++ madwifi-trunk-r3776/net80211/ieee80211_monitor.c 2008-07-18 23:27:47.000000000 +0200 @@ -580,7 +580,7 @@ if (SKB_NI(skb1) != NULL) |