hibernate-ram (part of hibernate-script) provides smart, configurable mechanisms for preparing for and recovering from sleep -- I particularly needed the module blacklist, but it's a pretty general bit of machinery. hal-system-power-suspend knows about hibernate-ram, but it only tries it as a fallback after just about every other mechanism, including asking the kernel to sleep directly! (echo "mem" > /sys/power/state) I moved the check for hibernate-ram up to the top of the if-cascade, and now the whole suspend chain (from gnome-power-manager, through hald, through hibernate-ram, to kernel sleep) does the right thing, including configurable module unloading during sleep. Reproducible: Always Steps to Reproduce: 1. Install a kernel with /sys/power state 2. Install hibernate-script, hald, and gnome-power-manager 3. Sleep the computer Actual Results: hibernate-ram doesn't run, so no kernel modules get unloaded at suspend, or reloaded at resume. Expected Results: hald should invoke hibernate-ram in preference to directly whanging the kernel.
*** This bug has been marked as a duplicate of bug 133743 ***