diff options
| -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) | |||
| 708 | int err = 0; | 708 | int err = 0; |
| 709 | unsigned long flags; | 709 | unsigned long flags; |
| 710 | 710 | ||
| 711 | if (freq <= 0) | 711 | if (freq <= 0 || freq > RTC_MAX_FREQ) |
| 712 | return -EINVAL; | 712 | return -EINVAL; |
| 713 | retry: | 713 | retry: |
| 714 | spin_lock_irqsave(&rtc->irq_task_lock, flags); | 714 | 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 { | |||
| 97 | #define RTC_AF 0x20 /* Alarm interrupt */ | 97 | #define RTC_AF 0x20 /* Alarm interrupt */ |
| 98 | #define RTC_UF 0x10 /* Update interrupt for 1Hz RTC */ | 98 | #define RTC_UF 0x10 /* Update interrupt for 1Hz RTC */ |
| 99 | 99 | ||
| 100 | |||
| 101 | #define RTC_MAX_FREQ 8192 | ||
| 102 | |||
| 100 | #ifdef __KERNEL__ | 103 | #ifdef __KERNEL__ |
| 101 | 104 | ||
| 102 | #include <linux/types.h> | 105 | #include <linux/types.h> |
