core-agent-linux/qubes-rpc/prepare-suspend
Marek Marczykowski-Górecki c9eb50cbe4 suspend: empty default list of modules to unload
Now dom0 will initiate real suspend process in VMs with PCI devices, so
workaround with unloading modules no longer needed.
Additionally it looks like unloading ehci-pci causes suspend problems on
some hardware (C200 Series Chipset).
2013-10-24 04:13:27 +02:00

34 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
action=$1
[ -z "$action" ] && action=suspend
MODULES_BLACKLIST=""
if [ -r /etc/qubes-suspend-module-blacklist ]; then
MODULES_BLACKLIST="$MODULES_BLACKLIST `cat /etc/qubes-suspend-module-blacklist`"
fi
if [ -r /rw/config/suspend-module-blacklist ]; then
MODULES_BLACKLIST="$MODULES_BLACKLIST `cat /rw/config/suspend-module-blacklist`"
fi
if [ x"$action" == x"suspend" ]; then
nmcli nm sleep true || service NetworkManager stop
# Force interfaces down, just in case when NM didn't done it
for if in `ls /sys/class/net|grep -v "lo\|vif"`; do
ip l s $if down
done
LOADED_MODULES=""
for mod in $MODULES_BLACKLIST; do
if lsmod |grep -q $mod; then
LOADED_MODULES="$LOADED_MODULES $mod"
modprobe -r $mod
fi
done
echo $LOADED_MODULES > /var/run/qubes/suspend-modules-loaded
else
for mod in `cat /var/run/qubes/suspend-modules-loaded`; do
modprobe $mod
done
nmcli nm sleep false || { [ -x /bin/systemctl ] && systemctl start NetworkManager.service; } || service qubes-core-netvm start
fi