Hi Andy, On Fri, 2023-07-21 at 19:37 +0300, Andy Shevchenko wrote: > > + /* Issue the reboot */ > > + ep93xx_devcfg_set_clear(priv->map, EP93XX_SYSCON_DEVCFG_SWRST, 0x00); > > + ep93xx_devcfg_set_clear(priv->map, 0x00, EP93XX_SYSCON_DEVCFG_SWRST); > > > > + mdelay(1000); > > Atomic?! Such a huge delay must be explained, esp. why it's atomic. atomic or not, SoC is supposed to reset itself here. However there is an errata [1] and the SoC can lockup instead. So even pr_emerg() makes sense to me. > > + pr_emerg("Unable to restart system\n"); > > + return NOTIFY_DONE; [1] http://web.archive.org/web/20161130230727/http://www.cirrus.com/en/pubs/appNote/AN258REV2.pdf -- Alexander Sverdlin.