summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2012-08-23 10:34:26 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2012-08-23 10:34:26 +0000
commit5d08f5f9ffcaeeb829a2999aeb7b792dec799040 (patch)
treed1eca4dfff3937b08b97f803652f126468b0ef57 /sys/arch
parentf12cfd0741501425174a54e5a303f740d4ce222b (diff)
Fix a race in rt2661 Tx interrupt processing which can cause Tx processing
to get stuck with OACTIVE set, requiring 'ifconfig ral0 down up' to unwedge. Make space in the Tx queue from the rt2661_tx_dma_intr() handler, rather than waiting until rt2661_tx_intr() is run. The latter function now collects AMRR statistics only. AMRR node allocation is now separated from ieee80211_node allocation to make this possible. This commit also brings back the separation of OACTIVE flags for management and data Tx queues which I reverted in the previous commit. Inspired by ral commits by sephe@dragonflybsd and patch submission to misc@ by Roland Dreier http://marc.info/?l=openbsd-misc&m=125895269930106&w=2 Tested by myself, edd, jsg, Tobias Ulmer, Pieter Verberne, Tim van der Molen.
Diffstat (limited to 'sys/arch')
0 files changed, 0 insertions, 0 deletions