forked from luck/tmp_suning_uos_patched
ARM: 7176/1: cpu_pm: register GIC PM notifier only once
When multiple GICs exist on a platform (RealView PB1176/11MP), we must make sure the PM notifier block is only registered once, otherwise we end up corrupting the PM notifier list. The fix is to only register the notifier when initializing the first GIC, as the power management functions seem to iterate over all the registered GICs. Tested on PB11MP and PB1176. Reported-by: Will Deacon <will.deacon@arm.com> Tested-by: Will Deacon <will.deacon@arm.com> Cc: Colin Cross <ccross@android.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
97371fa99c
commit
abdd7b91da
@ -526,7 +526,8 @@ static void __init gic_pm_init(struct gic_chip_data *gic)
|
|||||||
sizeof(u32));
|
sizeof(u32));
|
||||||
BUG_ON(!gic->saved_ppi_conf);
|
BUG_ON(!gic->saved_ppi_conf);
|
||||||
|
|
||||||
cpu_pm_register_notifier(&gic_notifier_block);
|
if (gic == &gic_data[0])
|
||||||
|
cpu_pm_register_notifier(&gic_notifier_block);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static void __init gic_pm_init(struct gic_chip_data *gic)
|
static void __init gic_pm_init(struct gic_chip_data *gic)
|
||||||
|
Loading…
Reference in New Issue
Block a user