HACK: lib/kobject_uevent.c: ignore thermal uevent when suspend
Android healthd try to listen power_supply subsystem uevent, but which will block system from suspend on big.LITTLE system because thermal_cooling_device_unregister will called when cpufreq_exit. So ignore this uevent when suspend. Change-Id: I35948498916560d5ec75fe561c9e9d588663ad22 Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
This commit is contained in:
parent
83fb4e1f93
commit
58f443ef96
1 changed files with 15 additions and 0 deletions
|
|
@ -223,6 +223,21 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_ARCH_ROCKCHIP) &&
|
||||
IS_ENABLED(CONFIG_FREEZER) &&
|
||||
IS_ENABLED(CONFIG_ANDROID)) {
|
||||
/*
|
||||
* Android healthd try to listen power_supply subsystem uevent,
|
||||
* but which will block system from suspend on big.LITTLE system
|
||||
* because thermal_cooling_device_unregister will called when
|
||||
* cpufreq_exit. So ignore this uevent when suspend.
|
||||
*/
|
||||
extern bool pm_freezing;
|
||||
|
||||
if (pm_freezing && !strcmp(subsystem, "thermal"))
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* environment buffer */
|
||||
env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL);
|
||||
if (!env)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue