|
@@ -1,14 +1,18 @@
|
|
|
-diff -Naur a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
|
|
|
---- a/drivers/rtc/rtc-ds1307.c 2017-09-18 18:59:01.000000000 +0200
|
|
|
-+++ b/drivers/rtc/rtc-ds1307.c 2017-10-22 21:17:38.553161544 +0200
|
|
|
-@@ -1096,8 +1096,8 @@
|
|
|
- if (!(tmp & MCP794XX_BIT_ST)) {
|
|
|
+diff -Naurp a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
|
|
|
+--- a/drivers/rtc/rtc-ds1307.c 2018-02-19 11:38:04.000000000 +0100
|
|
|
++++ b/drivers/rtc/rtc-ds1307.c 2018-03-08 11:58:06.832574443 +0100
|
|
|
+@@ -1093,11 +1093,11 @@ read_rtc:
|
|
|
+ }
|
|
|
+
|
|
|
+ /* clock halted? turn it on, so clock can tick. */
|
|
|
+- if (!(tmp & MCP794XX_BIT_ST)) {
|
|
|
++ if (!(ds1307->regs[3] & 0x20)) { /* check OSC Bit from REG 3 */
|
|
|
++ dev_warn(&client->dev, "OSC NOT RUNNING !SET TIME!\n");
|
|
|
i2c_smbus_write_byte_data(client, DS1307_REG_SECS,
|
|
|
MCP794XX_BIT_ST);
|
|
|
- dev_warn(&client->dev, "SET TIME!\n");
|
|
|
- goto read_rtc;
|
|
|
-+ dev_warn(&client->dev, "!!!!!!!!!!! SET TIME!\n");
|
|
|
-+ // goto read_rtc;
|
|
|
++// goto read_rtc; /* dont loop endless osc failure */
|
|
|
}
|
|
|
|
|
|
break;
|