#!/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
