Răsfoiți Sursa

ASoC: wsa881x: Update temperature value during device down

when wsa881x device is down, reading temperature from driver
returns error. Instead of propagating the error, return the
cached temperature value to the thermal framework to avoid
iterative calls to read the temperature that results in
excessive logging.

Change-Id: I529c83eafec63004c2469bf16a0b53bd5accbdbb
Signed-off-by: Sudheer Papothi <[email protected]>
Sudheer Papothi 6 ani în urmă
părinte
comite
4b9d12f1e9
1 a modificat fișierele cu 5 adăugiri și 3 ștergeri
  1. 5 3
      asoc/codecs/wsa881x-temp-sensor.c

+ 5 - 3
asoc/codecs/wsa881x-temp-sensor.c

@@ -80,9 +80,11 @@ temp_retry:
 	if (pdata->wsa_temp_reg_read) {
 		ret = pdata->wsa_temp_reg_read(codec, &reg);
 		if (ret) {
-			pr_err("%s: temperature register read failed: %d\n",
-				__func__, ret);
-			return ret;
+			pr_err("%s: temp read failed: %d, current temp: %d\n",
+				__func__, ret, pdata->curr_temp);
+			if (temp)
+				*temp = pdata->curr_temp;
+			return 0;
 		}
 	} else {
 		pr_err("%s: wsa_temp_reg_read is NULL\n", __func__);