#!/bin/bash # Handle camera service around suspend/resume. # # v4l2-relayd must be stopped before suspend to avoid GStreamer crashes, # then restarted after resume once the camera hardware is ready. # # Avoid unloading/reloading IPU7 kernel modules from the sleep hook. Module # reprobe during resume can hit fragile kernel PM paths and make wake less # reliable than a recoverable camera failure. case "$1" in pre) systemctl stop v4l2-relayd@ipu7.service 2>/dev/null || true ;; post) systemd-run --no-block --unit=camera-resume bash -c ' systemctl restart camera-init.service 2>/dev/null || true systemctl reset-failed v4l2-relayd@ipu7.service 2>/dev/null || true systemctl start v4l2-relayd@ipu7.service 2>/dev/null || true ' ;; esac exit 0