[RK3399][Android7.1] 调试笔记 --- RTC读取时间失败

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

现象:

使用busybox hwclock -r读取rtc时间是提示:

hwclock: ioctl 0x80247009 failed: Invalid argument

kernel log提示:

[   65.931824] rtc rtc0: read_time: fail to read: -22

原因:

硬件RTC的月份时间默认是返回-1,导致rtc_valid_tm判断失败返回错误。
rtc_valid_tm():

int rtc_valid_tm(struct rtc_time *tm)
{
	if (tm->tm_year < 70
		|| ((unsigned)tm->tm_mon) >= 12
		|| tm->tm_mday < 1
		|| tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900)
		|| ((unsigned)tm->tm_hour) >= 24
		|| ((unsigned)tm->tm_min) >= 60
		|| ((unsigned)tm->tm_sec) >= 60)
		return -EINVAL;

	return 0;
}

解决方法:

diff --git a/drivers/rtc/rtc-rx8010.c b/drivers/rtc/rtc-rx8010.c
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值