diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2021-08-07 06:23:35 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2021-08-07 06:23:35 +0000 |
commit | cec6d9780bee39ac5fc7720064aa807937fbd9bf (patch) | |
tree | 749f3d3062a4baee5018e8035aeaa6453cccf8dd /sys/net80211 | |
parent | 42c3116e048bd7addc6fbcc435b1e9a0106abe86 (diff) |
use taskq_del_barrier() instead of taskq_barrier() when flushing work
prompted by jcs@ reporting a protection fault trap in
drm_mode_rmfb_work_fn() while playing a youtube video in firefox on a
kaby lake machine. He later saw the same trace on tiger lake.
The arguments to drm_mode_rmfb_work_fn() are on the stack in
drm_mode_rmfb() with flush_work() called before return.
taskq_barrier() is only a barrier for running not queued tasks.
I suspect the linux functions expect any previously queued work to
complete not just any currently running work. I'm not sure if the
difference matters in practice.
Diffstat (limited to 'sys/net80211')
0 files changed, 0 insertions, 0 deletions