With the previous change, this should only be used when
doing hibernation.
return false;
}
- r = sleep_mode_supported(sleep_config->modes[operation]);
- if (r < 0)
- return r;
- if (r == 0) {
- *ret_support = SLEEP_STATE_OR_MODE_NOT_SUPPORTED;
- return false;
- }
-
if (IN_SET(operation, SLEEP_HIBERNATE, SLEEP_HYBRID_SLEEP)) {
+ r = sleep_mode_supported(sleep_config->modes[operation]);
+ if (r < 0)
+ return r;
+ if (r == 0) {
+ *ret_support = SLEEP_STATE_OR_MODE_NOT_SUPPORTED;
+ return false;
+ }
+
r = hibernation_is_safe();
if (r == -ENOTRECOVERABLE) {
*ret_support = SLEEP_RESUME_NOT_SUPPORTED;
}
if (r < 0)
return r;
- }
+ } else
+ assert(!sleep_config->modes[operation]);
*ret_support = SLEEP_SUPPORTED;
return true;