summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-10-03 23:23:45 +0000
committeradrian <adrian@FreeBSD.org>2012-10-03 23:23:45 +0000
commit78ead1fc05f7b05f6c80890e0f31ec772ad76487 (patch)
tree5ab5a1539cb5d51b78c4e4bb02a1932aa390b17f /include
parent3caceded2adf0d1f4bdf163679e01f335d03b1c1 (diff)
downloadFreeBSD-src-78ead1fc05f7b05f6c80890e0f31ec772ad76487.zip
FreeBSD-src-78ead1fc05f7b05f6c80890e0f31ec772ad76487.tar.gz
Pause and unpause the software queues for a given node based on the
net80211 node power save state. * Add an ATH_NODE_UNLOCK_ASSERT() check * Add a new node field - an_is_powersave * Pause/unpause the queue based on the node state * Attempt to handle net80211 concurrency issues so the queue doesn't get paused/unpaused more than once at a time from the net80211 power save code. Whilst here (and breaking my usual rule), set CLRDMASK when a queue is unpaused, regardless of whether the queue has some pending traffic. This means the first frame from that TID (now or later) will hvae CLRDMASK set. Also whilst here, bump the swretrymax counters whenever the filtered frames code expires a frame. Again, breaking my rule, but this is just a statistics thing rather than a functional change. This doesn't fix ps-poll (but it doesn't break it too much worse than it is at the present) or correcting the TID updates. That's next on the list. Tested: * AR9220 AP (Atheros AP96 reference design) * Macbook Pro and LG Optimus 1 Android phone, both setting and clearing power save state (but not using PS-POLL.)
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud