Page MenuHomeFreeBSD

[BHND] (fix-regression) reboot doesn't work: PMU watchdog must be triggered on shutdown
AbandonedPublic

Authored by mizhka on Jun 27 2016, 5:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 17, 9:42 AM
Unknown Object (File)
Mar 6 2024, 6:33 AM
Unknown Object (File)
Feb 23 2024, 7:57 PM
Unknown Object (File)
Dec 20 2023, 2:00 AM
Unknown Object (File)
Nov 9 2023, 1:29 PM
Unknown Object (File)
Nov 1 2023, 3:49 PM
Unknown Object (File)
Oct 21 2023, 3:45 AM
Unknown Object (File)
Oct 8 2023, 12:24 PM
Subscribers

Details

Reviewers
landonf
adrian
Summary

Hi,

The command "reboot" hangs on Asus RT-N53. It worked before, so fix is simple: watchdog must be triggered always on shutdown.

Test Plan

TC: run "reboot"
AR: hang
ER: success

Tested on BCM5358 (ASUS RT-N53)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

mizhka retitled this revision from to [BHND] (fix-regression) reboot doesn't work: PMU watchdog must be triggered on shutdown.
mizhka updated this object.
mizhka edited the test plan for this revision. (Show Details)
mizhka added reviewers: landonf, adrian.
mizhka set the repository for this revision to rS FreeBSD src repository - subversion.

The command "reboot" hangs on Asus RT-N53. It worked before, so fix is simple: watchdog must be triggered always on shutdown.

This will break on non-PMU-equippped devices (e.g. WGT634U), and more recent Broadcom devices that map the PMU register block via a dedicated core instead of ChipCommon; if we can't use CFE, we have to look at the ChipCommon core revision + capability flags + device table.

TC: run "reboot"
AR: hang

If you break to debugger (sysctl debug.kdb.panic=1) and issue a 'reset' command, the same code path succeeds; any idea why CFE is failing here?

The command "reboot" hangs on Asus RT-N53. It worked before, so fix is simple: watchdog must be triggered always on shutdown.

This will break on non-PMU-equippped devices (e.g. WGT634U), and more recent Broadcom devices that map the PMU register block via a dedicated core instead of ChipCommon; if we can't use CFE, we have to look at the ChipCommon core revision + capability flags + device table.

Do you mean "throw exception" under "break"?

TC: run "reboot"
AR: hang

If you break to debugger (sysctl debug.kdb.panic=1) and issue a 'reset' command, the same code path succeeds; any idea why CFE is failing here?

Because CFE is unreliable thing :) CFE is generic word, too many builds, versions, hacks and so on. The less used CFE features, the less pain :)

I'm agree with switch-case table, but I'll check ddb reset path too.

With D7539 committed, is it safe to close this?