On 13/5/24 12:11, Bernhard Beschow wrote:
The same statement is executed unconditionally right before the if statement.

Cc: Guenter Roeck <li...@roeck-us.net>
Signed-off-by: Bernhard Beschow <shen...@gmail.com>

---

The duplicate line may indicate a bug. I'm not familiar with the code, so this
patch may go into the wrong direction. Please check!

The bug might be in imx2_wdt_write() where the WRSR register is
overwritten, shouldn't we OR the SFTW bit, keeping other (such
TOUT) set?

    if (!(value & IMX2_WDT_WCR_SRS)) {
        s->wrsr = IMX2_WDT_WRSR_SFTW;
    }

---
  hw/watchdog/wdt_imx2.c | 1 -
  1 file changed, 1 deletion(-)

diff --git a/hw/watchdog/wdt_imx2.c b/hw/watchdog/wdt_imx2.c
index 6452fc4721..f9a7ea287f 100644
--- a/hw/watchdog/wdt_imx2.c
+++ b/hw/watchdog/wdt_imx2.c
@@ -39,7 +39,6 @@ static void imx2_wdt_expired(void *opaque)
/* Perform watchdog action if watchdog is enabled */
      if (s->wcr & IMX2_WDT_WCR_WDE) {
-        s->wrsr = IMX2_WDT_WRSR_TOUT;
          watchdog_perform_action();
      }
  }


Reply via email to