Signed-off-by: Adam Ward <adam.ward.opensource@diasemi.com>
Tested-by: Adam Ward <adam.ward.opensource@diasemi.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
        uint8_t v[6];
        int ret;
 
+       /* DA9052 only has 6 bits for year - to represent 2000-2063 */
+       if ((tm->tm_year < 100) || (tm->tm_year > 163))
+               return -EINVAL;
+
        rtc = dev_get_drvdata(dev);
 
        v[0] = tm->tm_sec;
        struct rtc_time *tm = &alrm->time;
        struct da9052_rtc *rtc = dev_get_drvdata(dev);
 
+       /* DA9052 only has 6 bits for year - to represent 2000-2063 */
+       if ((tm->tm_year < 100) || (tm->tm_year > 163))
+               return -EINVAL;
+
        ret = da9052_rtc_enable_alarm(rtc, 0);
        if (ret < 0)
                return ret;