healthimpl: increase wait timeout to 10 seconds
Currently, we wait for a max time of 7.5 seconds (75 retries with
each wait of 100 ms). Increase this to 10 seconds so that it
covers certain scenarios like booting with a KASAN enabled build
where it was observed waiting for battery power supply taking
around 7.8 seconds.
Change-Id: Ifb30b4412b0b404144f95b3a438fa49457a7cc3b
diff --git a/healthimpl.cpp b/healthimpl.cpp
index 53049af..45e135a 100644
--- a/healthimpl.cpp
+++ b/healthimpl.cpp
@@ -27,6 +27,46 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ *
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the disclaimer
+ * below) provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * * Neither the name of Qualcomm Innovation Center, Inc.nor the
+ * names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT
+ * RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS
+ * PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
#define LOG_TAG "android.hardware.health@2.1-service.qti"
#include <android-base/logging.h>
@@ -42,10 +82,12 @@
constexpr char ucsiPSYName[]{"ucsi-source-psy-soc:qcom,pmic_glink:qcom,ucsi1"};
+#define RETRY_COUNT 100
+
void qti_healthd_board_init(struct healthd_config *hc)
{
int fd;
- unsigned char retries = 75;
+ unsigned char retries = RETRY_COUNT;
int ret = 0;
unsigned char buf;
@@ -58,11 +100,11 @@
fd = open("/sys/class/power_supply/battery/capacity", 0440);
if (fd >= 0) {
- ALOGI("opened battery/capacity after %d retries\n", 75 - retries);
+ ALOGI("opened battery/capacity after %d retries\n", RETRY_COUNT - retries);
while (retries) {
ret = read(fd, &buf, 1);
if(ret >= 0) {
- ALOGI("Read Batt Capacity after %d retries ret : %d\n", 75 - retries, ret);
+ ALOGI("Read Batt Capacity after %d retries ret : %d\n", RETRY_COUNT - retries, ret);
close(fd);
return;
}