From 0ea070452aada5cd50be19d664705d9263294fde Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Thu, 11 Sep 2014 16:03:17 -0500 Subject: [PATCH] arm64: check for NULL bus on DEVICE_PATH_CPU_CLUSTER devices If there are no devices underneath a device in a devicetree the bus pointer in a struct device is NULL. Check for this condition before proceeding in walking through the children devices. BUG=chrome-os-partner:31761 BRANCH=None TEST=Ran through coreboot w/o any devices under the cpu_cluster device. No more exceptions. Change-Id: I9aedbc0dffc638b878bd0ffacfa318b6eb30d504 Signed-off-by: Patrick Georgi Original-Commit-Id: d21e181077eba3c5ee03afca1738a24c21a8fc19 Original-Change-Id: I891aeb36319dce67ce9e431156c85c74177c7ab7 Original-Signed-off-by: Aaron Durbin Original-Reviewed-on: https://chromium-review.googlesource.com/217511 Original-Reviewed-by: Tom Warren Original-Reviewed-by: Furquan Shaikh Reviewed-on: http://review.coreboot.org/9066 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/arch/arm64/cpu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/arch/arm64/cpu.c b/src/arch/arm64/cpu.c index f1733ea637..66c8dde9be 100644 --- a/src/arch/arm64/cpu.c +++ b/src/arch/arm64/cpu.c @@ -299,6 +299,11 @@ void arch_initialize_cpus(device_t cluster, struct cpu_control_ops *cntrl_ops) } bus = cluster->link_list; + + /* Check if no children under this device. */ + if (bus == NULL) + return; + entry = prepare_secondary_cpu_startup(); /* Initialize the cpu_info structures. */