linux-021-remove_endless_loop_in_rtc-ds1307_driver.patch 673 B

123456789101112131415161718
  1. diff -Naurp a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
  2. --- a/drivers/rtc/rtc-ds1307.c 2018-02-19 11:38:04.000000000 +0100
  3. +++ b/drivers/rtc/rtc-ds1307.c 2018-03-08 11:58:06.832574443 +0100
  4. @@ -1093,11 +1093,11 @@ read_rtc:
  5. }
  6. /* clock halted? turn it on, so clock can tick. */
  7. - if (!(tmp & MCP794XX_BIT_ST)) {
  8. + if (!(ds1307->regs[3] & 0x20)) { /* check OSC Bit from REG 3 */
  9. + dev_warn(&client->dev, "OSC NOT RUNNING !SET TIME!\n");
  10. i2c_smbus_write_byte_data(client, DS1307_REG_SECS,
  11. MCP794XX_BIT_ST);
  12. - dev_warn(&client->dev, "SET TIME!\n");
  13. - goto read_rtc;
  14. +// goto read_rtc; /* dont loop endless osc failure */
  15. }
  16. break;