首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

android 休眠与唤醒,该怎么解决

2014-01-19 
android休眠与唤醒s3c6410 android 总有一个非限时锁阻止进入suspend在内核中添加打印的:has_wake_lock_lo

android 休眠与唤醒
s3c6410 android 总有一个非限时锁阻止进入suspend

在内核中添加打印的:
has_wake_lock_locked()中添加 

static long has_wake_lock_locked(int type)
{
struct wake_lock *lock, *n;
long max_timeout = 0;

BUG_ON(type >= WAKE_LOCK_TYPE_COUNT);
list_for_each_entry_safe(lock, n, &active_wake_locks[type], link) {
if (lock->flags & WAKE_LOCK_AUTO_EXPIRE) {//超时锁
long timeout = lock->expires - jiffies;
if (timeout <= 0)
expire_wake_lock(lock);
else if (timeout > max_timeout)
max_timeout = timeout;
} else
{
printk("lockname = %s,lockflag = ox%x\n, type= %d\n",lock->name,lock->flags,type);return -1;
}
}
return max_timeout;
}

红色的为添加的,
结果打印信息为:
lockname = PowerManagerService,lockflag = ox300
系统中存在非限时锁,阻止系统进入suspend,请问这个 PowerManagerService锁怎么解锁呢?
[解决办法]
那肯定是有什么地方设了锁,仔细找找设锁的地方吧。

热点排行