Re: cvs commit: src/share/man/man4 Makefile watchdog.4 src/share/man/man9 watchdog.9 src/sys/arm/xscale/i80321 i80321_wdog.c src/sys/dev/ichwd ichwd.c src/sys/dev/ipmi ipmi.c src/sys/dev/mk48txx mk48t
Hi, I think the issue is that in the commit you wiped out the part where the dog gets enabled ? This diff against what you committed gets it working once again Yes, the enable is missing. The (untested) fix should be: --- ichwd.c~Tue Feb 20 23:56:27 2007 +++ ichwd.c Tue Mar 13 16:31:11 2007 @@ -183,8 +183,11 @@ timeout = ((uint64_t)1 << cmd) / ICHWD_TICK; if (cmd > 0 && cmd <= 63 && timeout >= ICHWD_MIN_TIMEOUT && timeout <= ICHWD_MAX_TIMEOUT) { - if (timeout != sc->timeout) + if (timeout != sc->timeout) { + if (!sc->active) + ichwd_tmr_enable(sc); ichwd_tmr_set(sc, timeout); + } ichwd_tmr_reload(sc); *error = 0; Nick --- ichwd.c.old Tue Feb 20 17:56:27 2007 +++ ichwd.c Tue Mar 13 10:19:12 2007 @@ -178,6 +178,16 @@ struct ichwd_softc *sc = arg; unsigned int timeout; +/* disable / enable */ +if (!(cmd & WD_ACTIVE)) { +if (sc->active) +ichwd_tmr_disable(sc); +*error = 0; +return; +} +if (!sc->active) +ichwd_tmr_enable(sc); + /* convert from power-of-two-ns to WDT ticks */ cmd &= WD_INTERVAL; timeout = ((uint64_t)1 << cmd) / ICHWD_TICK; @@ -189,8 +199,6 @@ ichwd_tmr_reload(sc); *error = 0; } else { - if (sc->active) - ichwd_tmr_disable(sc); if (cmd > 0) *error = EINVAL; } ---Mike At 05:56 PM 2/20/2007, Nick Hibma wrote: n_hibma 2007-02-20 22:56:29 UTC FreeBSD src repository Modified files:(Branch: RELENG_6) share/man/man4 Makefile watchdog.4 share/man/man9 watchdog.9 sys/arm/xscale/i80321 i80321_wdog.c sys/dev/ichwdichwd.c sys/dev/ipmi ipmi.c sys/dev/mk48txx mk48txx.c sys/dev/watchdog watchdog.c sys/i386/i386elan-mmcr.c sys/kern kern_clock.c sys/sys watchdog.h usr.sbin/watchdogd watchdog.8 watchdogd.c Log: MFC the following commits: Align the interfaces for the various watchdogs and make the interface behave as expected. Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define. Specific changes: i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle. ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h. kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181. Revision ChangesPath 1.371 +1 -0 src/share/man/man4/Makefile 1.8 +69 -25src/share/man/man4/watchdog.4 1.4 +7 -1 src/share/man/man9/watchdog.9 1.3 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c 1.7 +12 -30src/sys/dev/ichwd/ichwd.c 1.8 +8 -17 src/sys/dev/ipmi/ipmi.c 1.8 +3 -1 src/sys/dev/mk48txx/mk48txx.c 1.4 +4 -1 src/sys/dev/watchdog/watchdog.c 1.33 +9 -9 src/sys/i386/i386/elan-mmcr.c 1.193 +3 -3 src/sys/kern/kern_clock.c 1.4 +0 -4 src/sys/sys/watchdog.h and Don't exit from watchdogd on receiving a signal if we cannot stop the watchdog. That'll require -KILL. This avoids resetting your system on one of the watchdogs that you cannot disable. Revision ChangesPath 1.15 +18 -11src/usr.sbin/watchdogd/watchdogd.c Reviewed by:phk RevisionChangesPath 1.320.2.25 +1 -0 src/share/man/man4/Makefile 1.6.8.2 +69 -25src/share/man/man4/watchdog.4 1.3.8.1 +7 -1 src/share/man/man9/watchdog.9 1.2.2.1 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c 1.5.2.2 +12 -30src/sys/dev/ichwd/ichwd.c 1.3.2.5 +6 -17 src/sys/dev/ipmi/ipmi.c 1.6.2.2 +3 -1 src/sys/dev/mk48txx/mk48txx.c 1.2.8.1 +9 -2 src/sys/dev/watchdog/watchdog.c 1.31.2.2+9 -9 src/sys/i386/i386/elan-mmcr.c 1.178.2.4 +3 -3 src/sys/kern/kern_clock.c 1.3.8.1 +0 -4 src/sys/sys/watchdog.h 1.6.2.1 +5 -4 src/usr.sbin/watchdogd/watchdog.8 1.10.2.2+19 -13src/usr.sbin/watchdogd/watchdogd.c ___ cvs-all@freebsd.org mailing list http://lists.f
Re: cvs commit: src/share/man/man4 Makefile watchdog.4 src/share/man/man9 watchdog.9 src/sys/arm/xscale/i80321 i80321_wdog.c src/sys/dev/ichwd ichwd.c src/sys/dev/ipmi ipmi.c src/sys/dev/mk48txx mk48t
At 05:42 PM 3/9/2007, Mike Tancsa wrote: Hi, The commit below to ichwd.c, breaks the watchdog on a number of Intel boards I tried it against. (ICH5 and ICH7) The module loads, but the box never reboots after sending a sig 11 to watchdogd ichwd module loaded ichwd0: on isa0 Reverting to the version of ichwd.c prior to your commit unbreaks it and the watchdog works once again in that the box reboots after killing watchdogd. Hi, I think the issue is that in the commit you wiped out the part where the dog gets enabled ? This diff against what you committed gets it working once again --- ichwd.c.old Tue Feb 20 17:56:27 2007 +++ ichwd.c Tue Mar 13 10:19:12 2007 @@ -178,6 +178,16 @@ struct ichwd_softc *sc = arg; unsigned int timeout; +/* disable / enable */ +if (!(cmd & WD_ACTIVE)) { +if (sc->active) +ichwd_tmr_disable(sc); +*error = 0; +return; +} +if (!sc->active) +ichwd_tmr_enable(sc); + /* convert from power-of-two-ns to WDT ticks */ cmd &= WD_INTERVAL; timeout = ((uint64_t)1 << cmd) / ICHWD_TICK; @@ -189,8 +199,6 @@ ichwd_tmr_reload(sc); *error = 0; } else { - if (sc->active) - ichwd_tmr_disable(sc); if (cmd > 0) *error = EINVAL; } ---Mike At 05:56 PM 2/20/2007, Nick Hibma wrote: n_hibma 2007-02-20 22:56:29 UTC FreeBSD src repository Modified files:(Branch: RELENG_6) share/man/man4 Makefile watchdog.4 share/man/man9 watchdog.9 sys/arm/xscale/i80321 i80321_wdog.c sys/dev/ichwdichwd.c sys/dev/ipmi ipmi.c sys/dev/mk48txx mk48txx.c sys/dev/watchdog watchdog.c sys/i386/i386elan-mmcr.c sys/kern kern_clock.c sys/sys watchdog.h usr.sbin/watchdogd watchdog.8 watchdogd.c Log: MFC the following commits: Align the interfaces for the various watchdogs and make the interface behave as expected. Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define. Specific changes: i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle. ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h. kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181. Revision ChangesPath 1.371 +1 -0 src/share/man/man4/Makefile 1.8 +69 -25src/share/man/man4/watchdog.4 1.4 +7 -1 src/share/man/man9/watchdog.9 1.3 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c 1.7 +12 -30src/sys/dev/ichwd/ichwd.c 1.8 +8 -17 src/sys/dev/ipmi/ipmi.c 1.8 +3 -1 src/sys/dev/mk48txx/mk48txx.c 1.4 +4 -1 src/sys/dev/watchdog/watchdog.c 1.33 +9 -9 src/sys/i386/i386/elan-mmcr.c 1.193 +3 -3 src/sys/kern/kern_clock.c 1.4 +0 -4 src/sys/sys/watchdog.h and Don't exit from watchdogd on receiving a signal if we cannot stop the watchdog. That'll require -KILL. This avoids resetting your system on one of the watchdogs that you cannot disable. Revision ChangesPath 1.15 +18 -11src/usr.sbin/watchdogd/watchdogd.c Reviewed by:phk RevisionChangesPath 1.320.2.25 +1 -0 src/share/man/man4/Makefile 1.6.8.2 +69 -25src/share/man/man4/watchdog.4 1.3.8.1 +7 -1 src/share/man/man9/watchdog.9 1.2.2.1 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c 1.5.2.2 +12 -30src/sys/dev/ichwd/ichwd.c 1.3.2.5 +6 -17 src/sys/dev/ipmi/ipmi.c 1.6.2.2 +3 -1 src/sys/dev/mk48txx/mk48txx.c 1.2.8.1 +9 -2 src/sys/dev/watchdog/watchdog.c 1.31.2.2+9 -9 src/sys/i386/i386/elan-mmcr.c 1.178.2.4 +3 -3 src/sys/kern/kern_clock.c 1.3.8.1 +0 -4 src/sys/sys/watchdog.h 1.6.2.1 +5 -4 src/usr.sbin/watchdogd/watchdog.8 1.10.2.2+19 -13src/usr.sbin/watchdogd/watchdogd.c ___ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]" ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/m
Re: cvs commit: src/share/man/man4 Makefile watchdog.4 src/share/man/man9 watchdog.9 src/sys/arm/xscale/i80321 i80321_wdog.c src/sys/dev/ichwd ichwd.c src/sys/dev/ipmi ipmi.c src/sys/dev/mk48txx mk48t
Hi, The commit below to ichwd.c, breaks the watchdog on a number of Intel boards I tried it against. (ICH5 and ICH7) The module loads, but the box never reboots after sending a sig 11 to watchdogd ichwd module loaded ichwd0: on isa0 Reverting to the version of ichwd.c prior to your commit unbreaks it and the watchdog works once again in that the box reboots after killing watchdogd. ---Mike At 05:56 PM 2/20/2007, Nick Hibma wrote: n_hibma 2007-02-20 22:56:29 UTC FreeBSD src repository Modified files:(Branch: RELENG_6) share/man/man4 Makefile watchdog.4 share/man/man9 watchdog.9 sys/arm/xscale/i80321 i80321_wdog.c sys/dev/ichwdichwd.c sys/dev/ipmi ipmi.c sys/dev/mk48txx mk48txx.c sys/dev/watchdog watchdog.c sys/i386/i386elan-mmcr.c sys/kern kern_clock.c sys/sys watchdog.h usr.sbin/watchdogd watchdog.8 watchdogd.c Log: MFC the following commits: Align the interfaces for the various watchdogs and make the interface behave as expected. Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define. Specific changes: i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle. ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h. kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181. Revision ChangesPath 1.371 +1 -0 src/share/man/man4/Makefile 1.8 +69 -25src/share/man/man4/watchdog.4 1.4 +7 -1 src/share/man/man9/watchdog.9 1.3 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c 1.7 +12 -30src/sys/dev/ichwd/ichwd.c 1.8 +8 -17 src/sys/dev/ipmi/ipmi.c 1.8 +3 -1 src/sys/dev/mk48txx/mk48txx.c 1.4 +4 -1 src/sys/dev/watchdog/watchdog.c 1.33 +9 -9 src/sys/i386/i386/elan-mmcr.c 1.193 +3 -3 src/sys/kern/kern_clock.c 1.4 +0 -4 src/sys/sys/watchdog.h and Don't exit from watchdogd on receiving a signal if we cannot stop the watchdog. That'll require -KILL. This avoids resetting your system on one of the watchdogs that you cannot disable. Revision ChangesPath 1.15 +18 -11src/usr.sbin/watchdogd/watchdogd.c Reviewed by:phk RevisionChangesPath 1.320.2.25 +1 -0 src/share/man/man4/Makefile 1.6.8.2 +69 -25src/share/man/man4/watchdog.4 1.3.8.1 +7 -1 src/share/man/man9/watchdog.9 1.2.2.1 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c 1.5.2.2 +12 -30src/sys/dev/ichwd/ichwd.c 1.3.2.5 +6 -17 src/sys/dev/ipmi/ipmi.c 1.6.2.2 +3 -1 src/sys/dev/mk48txx/mk48txx.c 1.2.8.1 +9 -2 src/sys/dev/watchdog/watchdog.c 1.31.2.2+9 -9 src/sys/i386/i386/elan-mmcr.c 1.178.2.4 +3 -3 src/sys/kern/kern_clock.c 1.3.8.1 +0 -4 src/sys/sys/watchdog.h 1.6.2.1 +5 -4 src/usr.sbin/watchdogd/watchdog.8 1.10.2.2+19 -13src/usr.sbin/watchdogd/watchdogd.c ___ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]" ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"