diff options
| -rw-r--r-- | kernel/time/tick-oneshot.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c index 2e35501e61dd..2e8de678e767 100644 --- a/kernel/time/tick-oneshot.c +++ b/kernel/time/tick-oneshot.c | |||
| @@ -43,19 +43,17 @@ int tick_dev_program_event(struct clock_event_device *dev, ktime_t expires, | |||
| 43 | * and emit a warning. | 43 | * and emit a warning. |
| 44 | */ | 44 | */ |
| 45 | if (++i > 2) { | 45 | if (++i > 2) { |
| 46 | printk(KERN_WARNING "CE: __tick_program_event of %s is " | 46 | /* Increase the min. delta and try again */ |
| 47 | "stuck %llx %llx\n", dev->name ? dev->name : "?", | ||
| 48 | now.tv64, expires.tv64); | ||
| 49 | printk(KERN_WARNING | ||
| 50 | "CE: increasing min_delta_ns %ld to %ld nsec\n", | ||
| 51 | dev->min_delta_ns, dev->min_delta_ns << 1); | ||
| 52 | WARN_ON(1); | ||
| 53 | |||
| 54 | /* Double the min. delta and try again */ | ||
| 55 | if (!dev->min_delta_ns) | 47 | if (!dev->min_delta_ns) |
| 56 | dev->min_delta_ns = 5000; | 48 | dev->min_delta_ns = 5000; |
| 57 | else | 49 | else |
| 58 | dev->min_delta_ns <<= 1; | 50 | dev->min_delta_ns += dev->min_delta_ns >> 1; |
| 51 | |||
| 52 | printk(KERN_WARNING | ||
| 53 | "CE: %s increasing min_delta_ns to %lu nsec\n", | ||
| 54 | dev->name ? dev->name : "?", | ||
| 55 | dev->min_delta_ns << 1); | ||
| 56 | |||
| 59 | i = 0; | 57 | i = 0; |
| 60 | } | 58 | } |
| 61 | 59 | ||
