m68k/time: replace schedule_timeout() with
Subsystems (2)
PATCH 1/1 m68k/time: replace schedule_timeout() with
Quoted 3 lines · Nishanth Aravamudan
Hi,
Please consider applying.
Sorry, previous patch (not compile-tested) would definitely not have worked due to missing #include. Fixed below.
Description: The comments preceding the schedule_timeout() call in time.c below indicated a 50ms delay is desired. The current code implictly assumes HZ==100 and requests a delay of 5 ticks. This is clearly broken in higher HZ models. Using msleep_interruptible() makes HZ changes transparent. Change the corresponding constant appropriately and add a comment to indicate units.
Signed-off-by Nishanth Aravamudan <[email protected]>
arch/m68k/atari/time.c +4 -5
@@ -16,6 +16,7 @@#include <linux/init.h> #include <linux/rtc.h> #include <linux/bcd.h> +#include <linux/delay.h> #include <asm/atariints.h>
@@ -97,7 +98,7 @@ static void mste_write(struct MSTE_RTC * } while(0) -#define HWCLK_POLL_INTERVAL 5 +#define HWCLK_POLL_INTERVAL 50/* ms */ int atari_mste_hwclk (int op,struct rtc_time *t ) {
@@ -212,10 +213,8 @@ int atari_tt_hwclk( int op, struct rtc_t* additionally the RTC_SET bit is set to prevent an update cycle. */ -while (RTC_READ (RTC_FREQ_SELECT ) &RTC_UIP ) { - current->state =TASK_INTERRUPTIBLE ; -schedule_timeout (HWCLK_POLL_INTERVAL ); - } +while (RTC_READ (RTC_FREQ_SELECT ) &RTC_UIP ) +msleep_interruptible (HWCLK_POLL_INTERVAL );local_irq_save (flags);RTC_WRITE (RTC_CONTROL , ctrl |RTC_SET );
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors