diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-07-22 13:12:51 +0400 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2011-07-27 01:50:01 +0400 |
commit | 6e7a333eaa522ef73be01caec7a01521490aaf00 (patch) | |
tree | 76e9ffac58da9bc22327a38ea5e40fc5aa18c530 | |
parent | 3c8bb90efb6e3105206e4aaa9127395feeda5492 (diff) | |
download | linux-6e7a333eaa522ef73be01caec7a01521490aaf00.tar.xz |
rtc: Limit RTC PIE frequency
The RTC pie hrtimer is self rearming. We really need to limit the
frequency to something sensible. Thus limit it to the 8192Hz max
value from the rtc man documentation
Cc: Willy Tarreau <w@1wt.eu>
Cc: stable@kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[jstultz: slightly reworked to use RTC_MAX_FREQ value]
Signed-off-by: John Stultz <john.stultz@linaro.org>
-rw-r--r-- | drivers/rtc/interface.c | 2 | ||||
-rw-r--r-- | include/linux/rtc.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c index a1ba2caa8308..44e91e598f8d 100644 --- a/drivers/rtc/interface.c +++ b/drivers/rtc/interface.c @@ -708,7 +708,7 @@ int rtc_irq_set_freq(struct rtc_device *rtc, struct rtc_task *task, int freq) int err = 0; unsigned long flags; - if (freq <= 0) + if (freq <= 0 || freq > RTC_MAX_FREQ) return -EINVAL; retry: spin_lock_irqsave(&rtc->irq_task_lock, flags); diff --git a/include/linux/rtc.h b/include/linux/rtc.h index b27ebea25660..93f4d035076b 100644 --- a/include/linux/rtc.h +++ b/include/linux/rtc.h @@ -97,6 +97,9 @@ struct rtc_pll_info { #define RTC_AF 0x20 /* Alarm interrupt */ #define RTC_UF 0x10 /* Update interrupt for 1Hz RTC */ + +#define RTC_MAX_FREQ 8192 + #ifdef __KERNEL__ #include <linux/types.h> |