HardenedBSD/sys/net80211
Adrian Chadd b3c69eef25 Atheros SuperG bug fixes, as part of hunting down kern/174283.
The stageqdepth (global, over all staging queues) was being kept
incorrectly.  It was being incremented whenever things were added,
but only decremented during a flush.  During active fast frames activity
it wasn't being decremented, resulting in it always having a non-zero
value during normal fast-frames operation.

It was only used when checking if the aging queue should be checked;
we may as well just defer to each of those staging queue counters (which
look correct, thankfully.)

Whilst I'm here, add locking assertions in the staging queue add/remove
functions.  The current crash shows that the staging queue has one frame,
but only has a tail pointer set (the head pointer being set to NULL.)
I'd like to grab a few more crashes where these locking assertions are
in place so I can narrow down the issue between "somehow locking is
messed up and things are racy" and "the stage queue head/tail pointer
manipulation logic is subtly wrong."

Tested:

* AR5416 STA, AR5413 AP; with FastFrames enabled in the AR5416 HAL.

PR:		kern/174283
2012-12-09 19:20:28 +00:00
..
_ieee80211.h Add a check for dynamic OFDM/CCK channel types. 2012-07-01 04:25:49 +00:00
ieee80211_acl.c
ieee80211_action.c Added Self-protected action category (including MPM). 2012-05-01 15:35:10 +00:00
ieee80211_action.h
ieee80211_adhoc.c Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c
ieee80211_ageq.h
ieee80211_alq.c
ieee80211_alq.h
ieee80211_amrr.c
ieee80211_amrr.h
ieee80211_crypto_ccmp.c
ieee80211_crypto_none.c
ieee80211_crypto_tkip.c
ieee80211_crypto_wep.c
ieee80211_crypto.c
ieee80211_crypto.h
ieee80211_ddb.c Implemented so that Mesh forwarding information lifetime is dynamic. 2012-05-01 15:47:30 +00:00
ieee80211_dfs.c
ieee80211_dfs.h
ieee80211_freebsd.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_freebsd.h Add a primitive to check if a lock is not owned. 2012-11-26 00:06:55 +00:00
ieee80211_hostap.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_hostap.h Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_ht.c Add some further BAR TX debugging; it was useful when figuring out 2012-10-28 04:18:49 +00:00
ieee80211_ht.h Migrate the net80211 TX aggregation state to be from per-AC to per-TID. 2012-04-15 20:29:39 +00:00
ieee80211_hwmp.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_input.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_input.h
ieee80211_ioctl.c
ieee80211_ioctl.h PREQ discovery update. 2012-05-01 16:16:20 +00:00
ieee80211_mesh.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_mesh.h PREQ discovery update. 2012-05-01 16:16:20 +00:00
ieee80211_monitor.c
ieee80211_monitor.h
ieee80211_node.c Fix a crash bug introduced in the iterate node work recently done. 2012-09-16 22:45:00 +00:00
ieee80211_node.h Don't call the node iteration function inside the node table / node 2012-08-15 20:01:28 +00:00
ieee80211_output.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_phy.c
ieee80211_phy.h
ieee80211_power.c Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_power.h Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_proto.c Create a new task to handle 802.11n channel width changes. 2012-03-25 03:11:57 +00:00
ieee80211_proto.h
ieee80211_radiotap.c Extend the radiotap code to be aware of the size of any extra vendor 2012-06-18 02:08:04 +00:00
ieee80211_radiotap.h
ieee80211_ratectl_none.c
ieee80211_ratectl.c
ieee80211_ratectl.h
ieee80211_regdomain.c Add basic HT channel setup to ieee80211_init_channels(), this will be 2012-04-03 17:48:42 +00:00
ieee80211_regdomain.h Add a new 900MHz GSM regulatory SKU for the Xagyl Communications XC900M. 2012-12-07 06:34:46 +00:00
ieee80211_rssadapt.c
ieee80211_rssadapt.h
ieee80211_scan_sta.c
ieee80211_scan.c Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_scan.h
ieee80211_sta.c Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_sta.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_superg.c Atheros SuperG bug fixes, as part of hunting down kern/174283. 2012-12-09 19:20:28 +00:00
ieee80211_superg.h Atheros SuperG bug fixes, as part of hunting down kern/174283. 2012-12-09 19:20:28 +00:00
ieee80211_tdma.c
ieee80211_tdma.h
ieee80211_var.h Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_wds.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_wds.h
ieee80211_xauth.c
ieee80211.c Fix up some initial issues with creation and deletion of hotplugged 2012-10-26 16:56:55 +00:00
ieee80211.h Fix an incorrect comment. 2012-08-08 17:16:06 +00:00