On Wed, Sep 03, 2025 at 07:34:00PM +0000, Hrishabh Rajput via B4 Relay wrote: > +static int gunyah_wdt_call(unsigned long func_id, unsigned long arg1, > + unsigned long arg2, struct arm_smccc_res *res) > +{ > + arm_smccc_1_1_smc(func_id, arg1, arg2, res); > + return gunyah_error_remap(res->a0); > +} > + > +static int gunyah_wdt_start(struct watchdog_device *wdd) > +{ > + struct arm_smccc_res res; > + unsigned int timeout_ms; > + unsigned int pretimeout_ms; > + int ret; > + > + ret = gunyah_wdt_call(GUNYAH_WDT_CONTROL, WDT_CTRL_DISABLE, 0, &res); > + if (ret) > + return ret; When I ran a simple echo test, it failed here on SM8650 with -EINVAL. May be Gunyah does not allow disabling watchdog when it is not enabled in the first place. May be something you can check if this is a difference between 8750 vs 8650. It also points out that your patch needs some prints upon error. Pls check and update the patch accordingly. > + > + timeout_ms = wdd->timeout * 1000; > + pretimeout_ms = wdd->pretimeout * 1000; > + ret = gunyah_wdt_call(GUNYAH_WDT_SET_TIME, > + pretimeout_ms, timeout_ms, &res); > + if (ret) > + return ret; > + > + return gunyah_wdt_call(GUNYAH_WDT_CONTROL, WDT_CTRL_ENABLE, 0, &res); > +}