lkml.org 
[lkml]   [2015]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] rtc: pcf8563 fix: return -EINVAL if we read an invalid time.
Hi,

On 25/05/2015 at 11:51:14 +0200, Jan Kardell wrote :
> @@ -202,8 +202,9 @@ static int pcf8563_get_datetime(struct i2c_client *client, struct rtc_time *tm)
>
> if (buf[PCF8563_REG_SC] & PCF8563_SC_LV) {
> pcf8563->voltage_low = 1;
> - dev_info(&client->dev,
> + dev_err(&client->dev,
> "low voltage detected, date/time is not reliable.\n");
> + return -EINVAL;
> }
>
> dev_dbg(&client->dev,
> @@ -234,11 +235,11 @@ static int pcf8563_get_datetime(struct i2c_client *client, struct rtc_time *tm)
> tm->tm_sec, tm->tm_min, tm->tm_hour,
> tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
>
> - /* the clock can give out invalid datetime, but we cannot return
> - * -EINVAL otherwise hwclock will refuse to set the time on bootup.
> - */
> - if (rtc_valid_tm(tm) < 0)
> + err = rtc_valid_tm(tm);
> + if (err < 0) {
> dev_err(&client->dev, "retrieved date/time is not valid.\n");
> + return err;
> + }

I would avoid dev_err and directly return rtc_valid_tm(tm) or you could
also return 0 and let the core do the rtc_valid_tm() check.

>
> return 0;
> }
> --
> 1.8.4.5
>

--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


\
 
 \ /
  Last update: 2015-05-27 11:01    [W:0.109 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site