From 055a62645e9c6ab12ff0cd92cc9954e8cd00f023 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 5 Jul 2013 16:25:01 +0200 Subject: [PATCH] intel_extreme: only init overlay registers ... when memory allocation succeeded. --- .../graphics/intel_extreme/intel_extreme.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp index f4d4f7164a..3f50e2ab16 100644 --- a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp +++ b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp @@ -340,17 +340,20 @@ intel_extreme_init(intel_info &info) // setup overlay registers - if (intel_allocate_memory(info, B_PAGE_SIZE, 0, - intel_uses_physical_overlay(*info.shared_info) + status_t status = intel_allocate_memory(info, B_PAGE_SIZE, 0, + intel_uses_physical_overlay(*info.shared_info) ? B_APERTURE_NEED_PHYSICAL : 0, - (addr_t*)&info.overlay_registers, - &info.shared_info->physical_overlay_registers) == B_OK) { + (addr_t*)&info.overlay_registers, + &info.shared_info->physical_overlay_registers); + if (status == B_OK) { info.shared_info->overlay_offset = (addr_t)info.overlay_registers - info.aperture_base; + init_overlay_registers(info.overlay_registers); + } else { + ERROR("error: could not allocate overlay memory! %s\n", + strerror(status)); } - init_overlay_registers(info.overlay_registers); - // Allocate hardware status page and the cursor memory if (intel_allocate_memory(info, B_PAGE_SIZE, 0, B_APERTURE_NEED_PHYSICAL,