diff options
author | Aaron Durbin <adurbin@chromium.org> | 2014-09-11 16:03:17 -0500 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-03-28 07:04:36 +0100 |
commit | 0ea070452aada5cd50be19d664705d9263294fde (patch) | |
tree | a528d7e36747e33e788b24cf6f8e3e2dc4896647 /src/arch/arm64/cpu.c | |
parent | 136657cfe94dd4c66bb452bcc61268bc92549799 (diff) |
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>
Diffstat (limited to 'src/arch/arm64/cpu.c')
-rw-r--r-- | src/arch/arm64/cpu.c | 5 |
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. */ |