OpenBSD cvs log

created 2021-08-14T23:54:01Z
begin 2021-08-07T00:00:00Z
end 2021-08-08T00:00:00Z
path src/sys
commits 2

date 2021-08-07T06:23:34Z
author jsg
files src/sys/dev/pci/drm/drm_linux.c log diff annotate
src/sys/dev/pci/drm/include/linux/irq_work.h log diff annotate
message 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.

date 2021-08-07T09:21:51Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxvar.h log diff annotate
message Remove another unused DMA allocation from iwx(4).

This driver does not need to allocate a DMA segment for the Tx scheduler.
Instead this driver uses the scheduler byte count array which is allocated
per Tx ring. Remove sc->sched_dma and related code inherited from iwm(4).

Patch by zxystd from OpenIntelWireless.