Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6cac9529 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'timers-fixes-for-linus' of...

Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  rtc: Limit RTC PIE frequency
  rtc: Fix hrtimer deadlock
  rtc: Handle errors correctly in rtc_irq_set_state()

Fixup trivial conflicts in drivers/rtc/interface.c due to slightly
trivially versions of the same patch coming in two different ways.
parents 2da9f365 6e7a333e
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -639,7 +639,7 @@ EXPORT_SYMBOL_GPL(rtc_irq_unregister);
static int rtc_update_hrtimer(struct rtc_device *rtc, int enabled)
static int rtc_update_hrtimer(struct rtc_device *rtc, int enabled)
{
{
	/*
	/*
	 * We unconditionally cancel the timer here, because otherwise
	 * We always cancel the timer here first, because otherwise
	 * we could run into BUG_ON(timer->state != HRTIMER_STATE_CALLBACK);
	 * we could run into BUG_ON(timer->state != HRTIMER_STATE_CALLBACK);
	 * when we manage to start the timer before the callback
	 * when we manage to start the timer before the callback
	 * returns HRTIMER_RESTART.
	 * returns HRTIMER_RESTART.
@@ -708,7 +708,7 @@ int rtc_irq_set_freq(struct rtc_device *rtc, struct rtc_task *task, int freq)
	int err = 0;
	int err = 0;
	unsigned long flags;
	unsigned long flags;


	if (freq <= 0 || freq > 5000)
	if (freq <= 0 || freq > RTC_MAX_FREQ)
		return -EINVAL;
		return -EINVAL;
retry:
retry:
	spin_lock_irqsave(&rtc->irq_task_lock, flags);
	spin_lock_irqsave(&rtc->irq_task_lock, flags);
+3 −0
Original line number Original line Diff line number Diff line
@@ -97,6 +97,9 @@ struct rtc_pll_info {
#define RTC_AF 0x20	/* Alarm interrupt */
#define RTC_AF 0x20	/* Alarm interrupt */
#define RTC_UF 0x10	/* Update interrupt for 1Hz RTC */
#define RTC_UF 0x10	/* Update interrupt for 1Hz RTC */



#define RTC_MAX_FREQ	8192

#ifdef __KERNEL__
#ifdef __KERNEL__


#include <linux/types.h>
#include <linux/types.h>