I have a processor AT91SAM9G20 running a 2.6 kernel. Watchdog is enabled at bootstrap level and configured for 16 seconds. Watchdog mode register can be configured only once.When code hangs either in bootstrap, bootloader or kernel, the board reboots. But once kernel comes up even though watchdog is not refreshed in any of the applications, the board is not being reset after 16 seconds, but 15 minutes.
Who is refreshing the watchdog?
In our case, the watchdog should be influenced by applications, so that the board can reset if our application hangs.
These are the running processes:
1 root init2 root [kthreadd]3 root [ksoftirqd/0]4 root [watchdog/0]5 root [events/0]6 root [khelper]63 root [kblockd/0]72 root [ksuspend_usbd]78 root [khubd]85 root [kmmcd]107 root [pdflush]108 root [pdflush]109 root [kswapd0]110 root [aio/0]740 root [mtdblockd]828 root [rpciod/0]982 root [jffs2_gcd_mtd10]1003 root /sbin/udevd -d1145 daemon portmap1158 dbus dbus-daemon --system1178 root /usr/sbin/ifplugd -i eth0 -fwI -u0 -d5 -l -q1190 root /usr/sbin/ifplugd -i eth1 -fwI -u0 -d5 -l -q1221 default avahi-daemon: running [SP14.local]1226 root /usr/sbin/dropbear1246 root /root/bin/host_app1254 root /root/bin/mini_httpd -c *.cgi -d /root/bin -u root -E /root/bin/1256 root -sh1257 root /sbin/syslogd -n -m 01258 root /sbin/klogd -n1259 root /usr/bin/tail -f /var/log/messages1265 root ps -e
We are using the watchdog for soft lockups available in kernel-2.6.25-ts.at91sam9g20/kernel/softlockup.c