[haiku-commits] r35756 - haiku/trunk/src/add-ons/kernel/drivers/power/enhanced_speedstep

  • From: superstippi@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 4 Mar 2010 10:51:50 +0100 (CET)

Author: stippi
Date: 2010-03-04 10:51:50 +0100 (Thu, 04 Mar 2010)
New Revision: 35756
Changeset: http://dev.haiku-os.org/changeset/35756/haiku

Modified:
   haiku/trunk/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp
Log:
Check for division by zero.


Modified: 
haiku/trunk/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp
===================================================================
--- 
haiku/trunk/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp   
    2010-03-04 09:49:53 UTC (rev 35755)
+++ 
haiku/trunk/src/add-ons/kernel/drivers/power/enhanced_speedstep/frequency.cpp   
    2010-03-04 09:51:50 UTC (rev 35756)
@@ -144,13 +144,16 @@
 
        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;


Other related posts: