summaryrefslogtreecommitdiffstats
path: root/sys/dev/pv/files.pv
diff options
context:
space:
mode:
authorstsp <stsp@openbsd.org>2015-12-08 17:10:02 +0000
committerstsp <stsp@openbsd.org>2015-12-08 17:10:02 +0000
commit9b167141195d2d23e6793b7e8fd3c190a78b84d1 (patch)
treedeb01cfae384c520bb521dbf36f034bc5e0bf46e /sys/dev/pv/files.pv
parentsync (diff)
downloadwireguard-openbsd-9b167141195d2d23e6793b7e8fd3c190a78b84d1.tar.xz
wireguard-openbsd-9b167141195d2d23e6793b7e8fd3c190a78b84d1.zip
When iwm(4) moves to AUTH state it asks the firmware for a "time event" to
prevent it from moving off-channel during association. The firmware issues interrupts at beginning and end of the time event. The driver tried detecting the beginning with a tsleep() in the newstate task followed by a wakeup() from the interrupt handler. However, sometimes the newstate task did not get scheduled until the time event had already passed, and association was aborted. In rare cases the newstate task would even sleep forever and the iwm(4) interface would stop working until reboot. Fix these issues by issuing the time event and continuing association without checking for a "go" from the firmware. Our kernel does not provide the scheduling guarantees required for such precise synchronization so association is more likely to fail with the additional check than without. ok mpi@ tedu@
Diffstat (limited to 'sys/dev/pv/files.pv')
0 files changed, 0 insertions, 0 deletions