summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-09-11 16:03:17 -0500
committerPatrick Georgi <pgeorgi@google.com>2015-03-28 07:04:36 +0100
commit0ea070452aada5cd50be19d664705d9263294fde (patch)
treea528d7e36747e33e788b24cf6f8e3e2dc4896647
parent136657cfe94dd4c66bb452bcc61268bc92549799 (diff)
downloadcoreboot-0ea070452aada5cd50be19d664705d9263294fde.tar.xz
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 <pgeorgi@chromium.org> Original-Commit-Id: d21e181077eba3c5ee03afca1738a24c21a8fc19 Original-Change-Id: I891aeb36319dce67ce9e431156c85c74177c7ab7 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/217511 Original-Reviewed-by: Tom Warren <twarren@nvidia.com> Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9066 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/arch/arm64/cpu.c5
1 files changed, 5 insertions, 0 deletions
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. */