diff options
| -rw-r--r-- | kernel/time/clockevents.c | 10 | ||||
| -rw-r--r-- | kernel/time/sched_clock.c | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c index ad362c260ef4..9c94c19f1305 100644 --- a/kernel/time/clockevents.c +++ b/kernel/time/clockevents.c | |||
| @@ -146,7 +146,8 @@ static int clockevents_increase_min_delta(struct clock_event_device *dev) | |||
| 146 | { | 146 | { |
| 147 | /* Nothing to do if we already reached the limit */ | 147 | /* Nothing to do if we already reached the limit */ |
| 148 | if (dev->min_delta_ns >= MIN_DELTA_LIMIT) { | 148 | if (dev->min_delta_ns >= MIN_DELTA_LIMIT) { |
| 149 | printk(KERN_WARNING "CE: Reprogramming failure. Giving up\n"); | 149 | printk_deferred(KERN_WARNING |
| 150 | "CE: Reprogramming failure. Giving up\n"); | ||
| 150 | dev->next_event.tv64 = KTIME_MAX; | 151 | dev->next_event.tv64 = KTIME_MAX; |
| 151 | return -ETIME; | 152 | return -ETIME; |
| 152 | } | 153 | } |
| @@ -159,9 +160,10 @@ static int clockevents_increase_min_delta(struct clock_event_device *dev) | |||
| 159 | if (dev->min_delta_ns > MIN_DELTA_LIMIT) | 160 | if (dev->min_delta_ns > MIN_DELTA_LIMIT) |
| 160 | dev->min_delta_ns = MIN_DELTA_LIMIT; | 161 | dev->min_delta_ns = MIN_DELTA_LIMIT; |
| 161 | 162 | ||
| 162 | printk(KERN_WARNING "CE: %s increased min_delta_ns to %llu nsec\n", | 163 | printk_deferred(KERN_WARNING |
| 163 | dev->name ? dev->name : "?", | 164 | "CE: %s increased min_delta_ns to %llu nsec\n", |
| 164 | (unsigned long long) dev->min_delta_ns); | 165 | dev->name ? dev->name : "?", |
| 166 | (unsigned long long) dev->min_delta_ns); | ||
| 165 | return 0; | 167 | return 0; |
| 166 | } | 168 | } |
| 167 | 169 | ||
diff --git a/kernel/time/sched_clock.c b/kernel/time/sched_clock.c index 445106d2c729..01d2d15aa662 100644 --- a/kernel/time/sched_clock.c +++ b/kernel/time/sched_clock.c | |||
| @@ -191,7 +191,8 @@ void __init sched_clock_postinit(void) | |||
| 191 | 191 | ||
| 192 | static int sched_clock_suspend(void) | 192 | static int sched_clock_suspend(void) |
| 193 | { | 193 | { |
| 194 | sched_clock_poll(&sched_clock_timer); | 194 | update_sched_clock(); |
| 195 | hrtimer_cancel(&sched_clock_timer); | ||
| 195 | cd.suspended = true; | 196 | cd.suspended = true; |
| 196 | return 0; | 197 | return 0; |
| 197 | } | 198 | } |
| @@ -199,6 +200,7 @@ static int sched_clock_suspend(void) | |||
| 199 | static void sched_clock_resume(void) | 200 | static void sched_clock_resume(void) |
| 200 | { | 201 | { |
| 201 | cd.epoch_cyc = read_sched_clock(); | 202 | cd.epoch_cyc = read_sched_clock(); |
| 203 | hrtimer_start(&sched_clock_timer, cd.wrap_kt, HRTIMER_MODE_REL); | ||
| 202 | cd.suspended = false; | 204 | cd.suspended = false; |
| 203 | } | 205 | } |
| 204 | 206 | ||
