diff options
author | 2015-07-29 08:06:29 +0000 | |
---|---|---|
committer | 2015-07-29 08:06:29 +0000 | |
commit | 439d85c0ab34151d37fd95def165da984f8ba372 (patch) | |
tree | 5a4e05c930a812c11ed01b2232b033e24cde57a4 /sys/dev/softraid.c | |
parent | add a FILES section to make clear where RADIUS configuration file (diff) | |
download | wireguard-openbsd-439d85c0ab34151d37fd95def165da984f8ba372.tar.xz wireguard-openbsd-439d85c0ab34151d37fd95def165da984f8ba372.zip |
Rework buffer position reporting code.
- use simpler data structures (makes the code shorter).
- if multiple interrupts are missed, call audio(4) as many times as we
missed interrupts (unless the pointer wrapped, which this is
undetectable, but upper layer handles it)
- fetch the link fifos size in the interrupt handler, as, according to
the spec it may change dynamically.
- certain devices expose the last offset of the link fifo size instead
of the fifo size itself; workaround this by incrementing the
reported link fifo size if it's odd. Fixes recovery after missed
interrupts on asus eeepcs, maybe others.
ok deraadt, help from armani@
Diffstat (limited to 'sys/dev/softraid.c')
0 files changed, 0 insertions, 0 deletions