libmems: Fix limit ODR

Fix initialization error that crash libmems in the iio_context
constructor.
Fix type.

BUG=b:353354908,b:406277521
TEST=Unit test, Check `cros-health-tool diag sensitive_sensor_v2` on
dewatt.

Fixes: 0f9d0fd0a74 ("libmems: limit ODR")
Change-Id: Id8e955a2bae0f6821bd08c9f48378e41aea3c30f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/6405837
Reviewed-by: Byron Lee <[email protected]>
Auto-Submit: Gwendal Grignou <[email protected]>
Reviewed-by: Harvey Yang <[email protected]>
Commit-Queue: ChromeOS Auto Retry <[email protected]>
Tested-by: Gwendal Grignou <[email protected]>
NOKEYCHECK=True
GitOrigin-RevId: fb4d891064a33f4ce97aeb9af2f170af0bd15ef5
diff --git a/iio_context_impl.cc b/iio_context_impl.cc
index 069c59c..e94a3ea 100644
--- a/iio_context_impl.cc
+++ b/iio_context_impl.cc
@@ -33,7 +33,7 @@
                         &max_sensor_odr_override);
   int max_sensor_odr_value;
   if (base::StringToInt(max_sensor_odr_override, &max_sensor_odr_value)) {
-    *max_sensor_odr_ = max_sensor_odr_value / 1000.0;
+    max_sensor_odr_ = max_sensor_odr_value / 1000.0;
   }
 }
 
diff --git a/iio_device.cc b/iio_device.cc
index 04b4734..b19e360 100644
--- a/iio_device.cc
+++ b/iio_device.cc
@@ -218,7 +218,7 @@
         }
       }
   }
-  std::optional<int> max_sensor_odr = GetContext()->GetMaxSensorOdr();
+  std::optional<double> max_sensor_odr = GetContext()->GetMaxSensorOdr();
   if (max_sensor_odr && *max_sensor_odr < *max_freq) {
     *max_freq = *max_sensor_odr;
   }