From 1989b34a24e0825f454eae39ae9f3e57bd61e0df Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Sun, 6 Feb 2011 12:59:22 +0100 Subject: [PATCH] --- yaml --- r: 232935 b: refs/heads/master c: 55835eb62fad1253c9e657a667549945e4be9759 h: refs/heads/master i: 232933: 6ab0fd8c384019849b763dfe5e12827a462bf66f 232931: 516696d4f5079bc33f50458fa97edf9e5b3e8604 232927: 4f917755e2b2a18f9ec2a70edb186fc62e9c0d39 v: v3 --- [refs] | 2 +- trunk/drivers/rtc/class.c | 1 + trunk/drivers/rtc/interface.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b0771ac88400..b20777dd2e40 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f266a5110d453b7987194460ac7edd31f1a5426c +refs/heads/master: 55835eb62fad1253c9e657a667549945e4be9759 diff --git a/trunk/drivers/rtc/class.c b/trunk/drivers/rtc/class.c index 9583cbcc6b79..c404b61386bf 100644 --- a/trunk/drivers/rtc/class.c +++ b/trunk/drivers/rtc/class.c @@ -143,6 +143,7 @@ struct rtc_device *rtc_device_register(const char *name, struct device *dev, rtc->id = id; rtc->ops = ops; rtc->owner = owner; + rtc->irq_freq = 1; rtc->max_user_freq = 64; rtc->dev.parent = dev; rtc->dev.class = rtc_class; diff --git a/trunk/drivers/rtc/interface.c b/trunk/drivers/rtc/interface.c index 925006d33109..a0c01967244d 100644 --- a/trunk/drivers/rtc/interface.c +++ b/trunk/drivers/rtc/interface.c @@ -464,6 +464,9 @@ int rtc_irq_set_freq(struct rtc_device *rtc, struct rtc_task *task, int freq) int err = 0; unsigned long flags; + if (freq <= 0) + return -EINVAL; + spin_lock_irqsave(&rtc->irq_task_lock, flags); if (rtc->irq_task != NULL && task == NULL) err = -EBUSY;