mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Juergen Beisert <jbe@pengutronix.de>
To: barebox@lists.infradead.org
Subject: Re: [PATCH 1/2] Add a simple watchdog framework
Date: Mon, 25 Jun 2012 15:37:51 +0200	[thread overview]
Message-ID: <201206251537.51633.jbe@pengutronix.de> (raw)
In-Reply-To: <20120625125305.GF14321@pengutronix.de>

Hi Sascha,

Sascha Hauer wrote:
> [...]
> > > > +
> > > > +	rc = watchdog_set_timeout(timeout);
> > > > +	if (rc == -EINVAL) {
> > >
> > > Why do you check for -EINVAL only? This way all other errors will be
> > > silently ignored.
> >
> > Are you sure we must handle other failure codes than -EINVAL here? The
> > called function is very simple and only must distinguish "timeout != 0"
> > and "timeout == 0". So, timeout can be "out of range" or - as you
> > mentioned - some platforms cannot disable the watchdog anymore once it is
> > enabled. Both results into -EINVAL, because the called function cannot
> > use the given value. What else can happen?
>
> Why should we only test for errors that we know and silently drop all
> others?

+1

> Somebody might think that -ENOSYS is the appropriate return value if the
> watchdog can't be disabled. When such a patch is added nobody will
> remember that our error handling only checks for a special error value.

If we accept every possible error value, then we also must move the readable 
error message into the called function (because only the called function 
knows the meaning of its returned value).
Otherwise we must force a specific return-value to give a correct error 
message to the user. But if we force a specific return-value (-EINVAL for 
example) then the -ENOSYS would violate the defined API.

jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2012-06-25 13:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-22  9:54 [PATCHv2] Add a simple watchdog 'framework' to Barebox Juergen Beisert
2012-06-22  9:54 ` [PATCH 1/2] Add a simple watchdog framework Juergen Beisert
2012-06-25 12:28   ` Sascha Hauer
2012-06-25 12:45     ` Juergen Beisert
2012-06-25 12:53       ` Sascha Hauer
2012-06-25 13:37         ` Juergen Beisert [this message]
2012-06-22  9:54 ` [PATCH 2/2] ARM/MXS: add a watchdog driver for i.MX28 Juergen Beisert
  -- strict thread matches above, loose matches on Subject: below --
2012-06-27 14:30 [PATCHv4] Add a simple watchdog 'framework' to Barebox Juergen Beisert
2012-06-27 14:30 ` [PATCH 1/2] Add a simple watchdog framework Juergen Beisert
2012-06-26  8:43 [PATCHv3] Add a simple watchdog 'framework' to Barebox Juergen Beisert
2012-06-26  8:43 ` [PATCH 1/2] Add a simple watchdog framework Juergen Beisert
2012-06-22  8:44 [PATCH] Add a simple watchdog 'framework' to Barebox Juergen Beisert
2012-06-22  8:44 ` [PATCH 1/2] Add a simple watchdog framework Juergen Beisert

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 \
    --in-reply-to=201206251537.51633.jbe@pengutronix.de \
    --to=jbe@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox