Re: [PATCH v2 2/7] watchdog: mediatek: Add wdt/toprgu resets for MT6589
[email protected] Fri, 17 Jul 2026 17:30:20 +0000
| Newsgroups | org.kernel.vger.linux-watchdog,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] Reset controller is synchronously registered before its structural configuration variable `has_swsysrst_en` is initialized. -- --- Patch [2]: [PATCH v2 2/7] watchdog: mediatek: Add wdt/toprgu resets for MT6589 --- commit 3b51cb7125d43b8f8ea3a7996ec1844775ec36b1 Author: Luca Leonardo Scorcia <[email protected]> watchdog: mediatek: Add wdt/toprgu resets for MT6589 This commit populates the toprgu_sw_rst_num field for the MT6589 watchdog data. It maps the 12 reset bits available in the WDT_SWSYSRST register to allow toprgu resets via the device tree. > diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c > index 91d110646e16f..e61f6ae743276 100644 > --- a/drivers/watchdog/mtk_wdt.c > +++ b/drivers/watchdog/mtk_wdt.c [ ... ] > @@ -88,6 +89,10 @@ static const struct mtk_wdt_data mt2712_data = { > .toprgu_sw_rst_num = MT2712_TOPRGU_SW_RST_NUM, > }; > > +static const struct mtk_wdt_data mt6589_data = { > + .toprgu_sw_rst_num = MT6589_TOPRGU_SW_RST_NUM, > +}; > + > static const struct mtk_wdt_data mt6735_data = { > .toprgu_sw_rst_num = MT6735_TOPRGU_RST_NUM, > }; [Severity: High] This is a pre-existing issue, but registering the reset controller in mtk_wdt_probe() happens before the structural configuration is fully initialized: drivers/watchdog/mtk_wdt.c:mtk_wdt_probe() { ... wdt_data = of_device_get_match_data(dev); if (wdt_data) { err = toprgu_register_reset_controller(pdev, wdt_data->toprgu_sw_rst_num); if (err) return err; mtk_wdt->has_swsysrst_en = wdt_data->has_swsysrst_en; } ... } If a consumer driver probes concurrently and asserts the reset line, could it execute before the has_swsysrst_en flag is set? On SoCs requiring software reset enable, reading the uninitialized has_swsysrst_en as false would cause the reset assertion to fail silently, potentially leaving consumer devices in an undefined state. Should mtk_wdt->has_swsysrst_en be initialized before calling toprgu_register_reset_controller()? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=2