[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#494036: linux-image-2.6.26-1-686: same erractic freeze on my thinkpad t60 with 2.6.25 and 2.6.26



tag 494036 patch
thanks

http://lkml.org/lkml/2008/8/23/83
This is the patch by Ingo Molnar I applied on my 2.6.26 kernel. Can you
please apply it.

Best regards,

    Gonéri Le Bouder

--- linux-source-2.6.26.orig/include/asm-generic/rtc.h.orig     2008-10-18 00:26:24.000000000 +0200
+++ linux-source-2.6.26/include/asm-generic/rtc.h       2008-10-18 00:27:16.000000000 +0200
@@ -15,6 +15,7 @@
 #include <linux/mc146818rtc.h>
 #include <linux/rtc.h>
 #include <linux/bcd.h>
+#include <linux/delay.h>

 #define RTC_PIE 0x40           /* periodic interrupt enable */
 #define RTC_AIE 0x20           /* alarm interrupt enable */
@@ -43,7 +44,6 @@ static inline unsigned char rtc_is_updat

 static inline unsigned int get_rtc_time(struct rtc_time *time)
 {
-       unsigned long uip_watchdog = jiffies;
        unsigned char ctrl;
        unsigned long flags;

@@ -61,11 +61,9 @@ static inline unsigned int get_rtc_time(
         * Once the read clears, read the RTC time (again via ioctl). Easy.
         */

-       if (rtc_is_updating() != 0)
-               while (jiffies - uip_watchdog < 2*HZ/100) {
-                       barrier();
-                       cpu_relax();
-               }
+       if (rtc_is_updating())
+                mdelay(20);
+

        /*
         * Only the values that we read from the RTC are set. We leave

Attachment: signature.asc
Description: Digital signature


Reply to: