From: Guenter Roeck <firstname.lastname@example.org> To: Hans de Goede <email@example.com>, Jose Noguera <firstname.lastname@example.org>, email@example.com, firstname.lastname@example.org Cc: Peter Robinson <email@example.com> Subject: Re: [Watchdog drivers] - WDIOC_GETSUPPORT clarification Date: Wed, 18 Aug 2021 07:53:44 -0700 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> On 8/18/21 7:49 AM, Hans de Goede wrote: > Hi, > > On 8/18/21 4:13 PM, Guenter Roeck wrote: >> On 8/18/21 2:57 AM, Jose Noguera wrote: >>> Hello all! >>> >>> I’m Jose, working in Red Hat on Fedora IoT and RHEL For Edge related projects. >>> >>> While trying to add the feature of figuring out whether the current boot was triggered or not by a hardware watchdog using wdctl, we’ve found an odd behaviour in the drivers definition that we would like to check with you. >>> >>> Looking specifically for the flag WDIOF_CARDRESET, we can find 40 files that contain it: >>> >>> $ grep -rl CARDRESET drivers/watchdog/ | wc -l >>> 40 >>> >>> but only 19 of them have the flag advertised in the options field of the watchdog_info struct returned by the WDIOC_GETSUPPORT ioctl. >>> >>> This leads to wdctl not showing WDIOF_CARDRESET for drivers like i6300esb, even when the board had been reset this way: >>> >>> $ sudo wdctl >>> Device: /dev/watchdog0 >>> Identity: i6300ESB timer [version 0] >>> Timeout: 30 seconds >>> Pre-timeout: 0 seconds >>> >>> FLAG DESCRIPTION STATUS BOOT-STATUS >>> KEEPALIVEPING Keep alive ping reply 1 0 >>> MAGICCLOSE Supports magic close char 0 0 >>> SETTIMEOUT Set timeout (in seconds) 0 0 >>> >>> Working with Hans (in CC), we added a little patch (BugZilla ticket: 1993983) on wdctl and this would be the output of the command when it was a card reset triggered boot: >>> >>> $ sudo wdctl >>> Device: /dev/watchdog0 >>> Identity: i6300ESB timer [version 0] >>> Thank you all for your time, >>> >>> Jose >> >>> Timeout: 30 seconds >>> Pre-timeout: 0 seconds >>> >>> FLAG DESCRIPTION STATUS BOOT-STATUS >>> CARDRESET Card previously reset the CPU 1 1 >>> KEEPALIVEPING Keep alive ping reply 1 0 >>> MAGICCLOSE Supports magic close char 0 0 >>> SETTIMEOUT Set timeout (in seconds) 0 0 >>> >>> So our question is, may we know what is intended to be present in ident.options? What should the API call WDIOC_GETSUPPORT return in the options field? >>> >> >> Search for WDIOC_GETSUPPORT in Documentation/watchdog/watchdog-api.rst. >> I don't see any ambiguity there. Patches welcome. > > Ok, so drivers which may set CARDRESET in their GETBOOTSTATUS reply, but > don't advertise this in their GETSUPPORT watchdog_info.options reply > are buggy and should be fixed, got it. Thanks. > > I've made a note about fixing this in a possible-kernel-projects document > which I keep for when people who are interested in kernel development > ask me for projects. > With an add-on: If the driver in question is an old-style driver, anyone affected by the problem should really convert the driver to support the watchdog subsystem. Thanks, Guenter > Regards, > > Hans >
next prev parent reply other threads:[~2021-08-18 14:53 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CAKu6O181WOq36RCDO0VPcsZZoUFAJ88BMqv0Hqf+qYCeZsMJtQ@mail.gmail.com> 2021-08-18 12:53 ` Hans de Goede 2021-08-18 14:13 ` Guenter Roeck 2021-08-18 14:49 ` Hans de Goede 2021-08-18 14:53 ` Guenter Roeck [this message] 2021-09-01 11:15 ` Peter Robinson 2021-09-01 19:51 ` Guenter Roeck
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [Watchdog drivers] - WDIOC_GETSUPPORT clarification' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.