From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Fri, 14 Sep 2012 20:08:46 +0200 Subject: [U-Boot] [PATCH v2 08/11] rtc: Don't allow setting unsuported years on s3c24x0_rtc In-Reply-To: <1347643742-19966-9-git-send-email-jose.goncalves@inov.pt> References: <1347643742-19966-1-git-send-email-jose.goncalves@inov.pt> <1347643742-19966-9-git-send-email-jose.goncalves@inov.pt> Message-ID: <201209142008.46842.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Jos? Miguel Gon?alves, > This RTC only supports a 100 years range so rtc_set() should not allow > setting years bellow 1970 or above 2069. Acked-by: Marek Vasut > Signed-off-by: Jos? Miguel Gon?alves > --- > Changes for v2: > - New patch > --- > drivers/rtc/s3c24x0_rtc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/rtc/s3c24x0_rtc.c b/drivers/rtc/s3c24x0_rtc.c > index 54bf6e3..f96cb11 100644 > --- a/drivers/rtc/s3c24x0_rtc.c > +++ b/drivers/rtc/s3c24x0_rtc.c > @@ -139,6 +139,11 @@ int rtc_set(struct rtc_time *tmp) > tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, > tmp->tm_hour, tmp->tm_min, tmp->tm_sec); > #endif > + if (tmp->tm_year < 1970 || tmp->tm_year > 2069) { > + puts("ERROR: year should be between 1970 and 2069!\n"); > + return -1; > + } > + > year = bin2bcd(tmp->tm_year % 100); > mon = bin2bcd(tmp->tm_mon); > wday = bin2bcd(tmp->tm_wday); Best regards, Marek Vasut