diff options
Diffstat (limited to 'package/madwifi/extra/wprobe.spatch')
-rw-r--r-- | package/madwifi/extra/wprobe.spatch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/package/madwifi/extra/wprobe.spatch b/package/madwifi/extra/wprobe.spatch new file mode 100644 index 0000000000..78718aa54c --- /dev/null +++ b/package/madwifi/extra/wprobe.spatch @@ -0,0 +1,84 @@ +@@ +@@ + #include "if_athioctl.h" ++#include "wprobe.h" + +@@ +@@ + struct ath_vap { + ... ++ struct wprobe_iface av_wpif; + }; + +@@ +@@ + struct ath_node { + ... ++ struct wprobe_link an_wplink; ++ uint8_t an_wplink_active; ++ struct work_struct an_destroy; + u_int16_t an_decomp_index; + ... + }; + +@@ +@@ + ath_vap_create(...) { + <... ++ ath_init_wprobe_dev(avp); + return vap; + ...> + } + +@ rule5 @ +expression vap; +@@ + ath_vap_delete(...) { + <... + ieee80211_vap_detach(vap); ++ ath_remove_wprobe_dev(ATH_VAP(vap)); + ...> + } + +@ rule6 @ +@@ + static int xchanmode = -1; ++ ++#include "ath_wprobe.c" + + +@ rule7 @ +expression sc, ni; +@@ + <... + sc->sc_rc->ops->newassoc(sc, ATH_NODE(ni), isnew); ++ ath_wprobe_node_join(ni->ni_vap, ni); + ...> + +@ rule8 @ +expression ni; +expression sc; +@@ + <... + sc->sc_rc->ops->node_cleanup(sc, ATH_NODE(ni)); ++ ath_wprobe_node_leave(ni->ni_vap, ni); + ...> + +@ rule9 @ +expression ni; +expression rs; +@@ + <... + ATH_RSSI_LPF(ATH_NODE(ni)->an_avgrssi, rs->rs_rssi); ++ ath_node_sample_rx(ni, rs); + ...> + +@ rule10 @ +expression an; +expression ts; +@@ + <... + ATH_RSSI_LPF(an->an_halstats.ns_avgtxrssi, ts->ts_rssi); ++ ath_node_sample_tx(&an->an_node, ts, bf->bf_skb->len); + ...> + |