Debian Patches
Status for fastrpc/1.0.6-2
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| dsprpcd-fix-restart-behavior | dsprpcd: fix daemon restart behavior for SIGTERM and ENOMEM Exit the internal restart loop on AEE_ENOMEMORY so the daemon does not spin indefinitely when the kernel reports OOM; it is pointless to retry in that condition. . Add RestartForceExitStatus=SIGTERM to all service files so that an unintended SIGTERM (e.g. pkill) is treated as a failure and triggers a restart, consistent with SIGKILL behavior. . Add RestartPreventExitStatus=2 (AEE_ENOMEMORY) to the audiopd service only, since the kernel returns ENOMEM when the remote heap DMA region is not configured, which is a permanent condition that restarting cannot recover from. . Without this, adsprpcd_audiopd.service is restarted endlessly on boards whose device tree lacks the audio remote heap DMA region, which was observed to send RB1 (Agatti) into a reboot loop with mainline kernels. . Debian delta relative to the upstream commit: upstream writes the audiopd setting as . RestartPreventExitStatus=2 # AEE_ENOMEMORY . but systemd unit files do not support trailing comments, so systemd fails to parse the value and ignores the setting; the comment is moved to a line of its own here. To be reported upstream. |
Vinayak Katoch <vinayak.katoch@oss.qualcomm.com> | yes | upstream | upstream, https://github.com/qualcomm/fastrpc/commit/cd0c0dbbfef8ae950f9ebb4483a9b0192d8fb6a6 | 2026-08-13 |
| udev-start-offline-dsp-remoteprocs | udev: start DSP remoteprocs left offline When qcom_q6v5_pas is loaded from the initramfs, rproc_add() auto-boots the core before the root filesystem is mounted. /lib/firmware is not reachable yet, so request_firmware() fails with -ENOENT, and the remoteproc core has no retry path: the DSP stays "offline" for the rest of the boot even though the firmware is present on disk. With no DSP there is no rpmsg channel, so no /dev/fastrpc-* node appears and none of the daemons in 60-fastrpc.rules can start. . Add a udev rule that writes "start" to the remoteproc state attribute. The event fires twice: once in the initramfs, where the write still fails for the same reason the kernel's did, and again from the coldplug pass that systemd-udev-trigger.service runs after switch_root, where the firmware is reachable and the boot succeeds. udev logs and ignores the failed write, so the first pass is harmless. . Only cores that qcom_q6v5_pas auto-boots and that FastRPC uses are matched. modem and wpss have .auto_boot = false: modem is absent by design on some SoCs, and ath11k owns the wpss lifecycle. . The ATTR{state}=="offline" gate is required: rproc_boot() increments rproc->power unconditionally, so writing to an already-running core would pin an extra reference and prevent a later shutdown or subsystem restart from taking effect. . This is a userspace stopgap for the kernel bug; it can be dropped once a kernel-side retry lands. . Relates to https://github.com/qualcomm-linux/kernel/issues/923 |
Loïc Minier <loic.minier@oss.qualcomm.com> | yes | upstream | upstream, https://github.com/qualcomm/fastrpc/pull/372 | 2026-08-13 |
All known versions for source package 'fastrpc'
- 1.0.7-1 (sid)
- 1.0.6-2 (forky)
- 1.0.6-2~bpo13+1 (trixie-backports)
