daedalus-v4l2-dkms: 79256dc -> 6ffe92b — fix kernel panic from #7

Kernel-only bump.  Fixes the hard-reboot regression introduced by
the daedalus-v4l2#7 split-completion design and observed on higgs
(Pi CM5) during the first mpv vaapi-copy playback of 720p H.264:
device_run now removes src + dst from m2m_ctx's rdy_queue at the
moment it picks them up, not at buf_done time.  Without this, a
parked dst_buf (waiting for libavcodec's display-order release)
stayed in the rdy_queue and got re-picked by the next device_run
after SRC_CONSUMED's job_finish released the scheduler — two
inflight entries on the same vb2_buffer, later HAS_PIXELS calls
list_del on an already-detached list_head, panic.

DAEDALUS_PROTO_VERSION stays at 1 — daemon (userspace
daedalus-v4l2) need NOT bump in lockstep with this DKMS update.
The existing daedalus-v4l2 0.1.0+r28+g79256dc is wire-compatible
with daedalus-v4l2-dkms 0.1.0+r30+g6ffe92b.

Refs:
  * reauktion/daedalus-v4l2#8
This commit is contained in:
2026-05-21 13:56:42 +02:00
parent eb89f12c3e
commit a0be2dcc9f
3 changed files with 35 additions and 10 deletions
+10 -7
View File
@@ -16,14 +16,17 @@
pkgname=daedalus-v4l2-dkms
_module=daedalus_v4l2
# Same pin as arch/daedalus-v4l2 — keep kernel module + daemon
# bit-versioned together so the chardev wire protocol stays in sync.
# PROTO_VERSION 0 → 1 at this pin (H.264 B-frame reorder fix); must
# install both packages atomically.
_commit=79256dc7ef41f83873ca9c23db20f5888858e65d
# Kernel module-only bump to 6ffe92b — fixes the panic regression
# introduced by 79256dc's split-completion design (daedalus-v4l2#8):
# claim src/dst from m2m's rdy_queue at device_run time, not at
# buf_done; otherwise a parked dst_buf gets re-picked by the next
# device_run after SRC_CONSUMED's job_finish releases the scheduler.
# PROTO_VERSION stays at 1; daedalus-v4l2 (daemon) need NOT bump in
# lockstep — daemon ABI is unchanged.
_commit=6ffe92bcacccbf228c398a10c21a6818f07c67d2
pkgver=0.1.0.r28.79256dc
pkgrel=1 # reset for new upstream pin (79256dc — H.264 B-frame reorder fix)
pkgver=0.1.0.r30.6ffe92b
pkgrel=1 # reset for new upstream pin (6ffe92b — claim src/dst at device_run, fixes #8 panic)
pkgdesc="V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5"
arch=('any')
url="https://git.reauktion.de/reauktion/daedalus-v4l2"