From 809c5798b12fa2f4fa70120374e22539d9ee9bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Thu, 4 Mar 2010 09:51:50 +0000 Subject: [PATCH] Check for division by zero. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35756 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/drivers/power/enhanced_speedstep/frequency.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp b/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp index 023c15dcf3..6570b076dc 100644 --- a/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp +++ b/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp @@ -144,13 +144,16 @@ est_msr_info(uint64 msr, freq_info** _frequencyInfos) int32 freq = info.cpu_clock_speed / 1000000; uint16 id = msr >> 32; - int32 bus = freq / (id >> 8); + int32 bus = 0; + if (id >> 8) + freq / (id >> 8); TRACE("est: Guessed bus clock (high) of %d MHz\n", int(bus)); if (!bus_speed_ok(bus)) { // We may be running on the low frequency. id = msr >> 48; - bus = freq / (id >> 8); + if (id >> 8) + bus = freq / (id >> 8); TRACE("est: Guessed bus clock (low) of %d MHz\n", int(bus)); if (!bus_speed_ok(bus)) return B_ERROR;