Merge "devices: virtcpufreq: Use default factor if crosvm can't read governor" into main
diff --git a/devices/src/virtcpufreq.rs b/devices/src/virtcpufreq.rs
index b896096..c01ac4e 100644
--- a/devices/src/virtcpufreq.rs
+++ b/devices/src/virtcpufreq.rs
@@ -59,8 +59,13 @@
     get_cpu_info(cpu_id, "cpufreq/scaling_cur_freq")
 }
 
+fn handle_read_err(err: Error) -> String {
+    warn!("Unable to get cpufreq governor, using 100% default util factor. Err: {:?}", err);
+    "unknown_governor".to_string()
+}
+
 fn get_cpu_util_factor(cpu_id: u32) -> Result<u32, Error> {
-    let gov = get_cpu_info_str(cpu_id, "cpufreq/scaling_governor")?;
+    let gov = get_cpu_info_str(cpu_id, "cpufreq/scaling_governor").unwrap_or_else(handle_read_err);
     match gov.trim() {
         "schedutil" => Ok(CPUFREQ_GOV_SCALE_FACTOR_SCHEDUTIL),
         _ => Ok(CPUFREQ_GOV_SCALE_FACTOR_DEFAULT),