diff options
Diffstat (limited to 'kernel/time/alarmtimer.c')
-rw-r--r-- | kernel/time/alarmtimer.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index 0e9263f6fd09..ea5e1a928d5b 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c | |||
@@ -481,6 +481,15 @@ static int alarm_timer_set(struct k_itimer *timr, int flags, | |||
481 | if (!rtcdev) | 481 | if (!rtcdev) |
482 | return -ENOTSUPP; | 482 | return -ENOTSUPP; |
483 | 483 | ||
484 | /* | ||
485 | * XXX HACK! Currently we can DOS a system if the interval | ||
486 | * period on alarmtimers is too small. Cap the interval here | ||
487 | * to 100us and solve this properly in a future patch! -jstultz | ||
488 | */ | ||
489 | if ((new_setting->it_interval.tv_sec == 0) && | ||
490 | (new_setting->it_interval.tv_nsec < 100000)) | ||
491 | new_setting->it_interval.tv_nsec = 100000; | ||
492 | |||
484 | if (old_setting) | 493 | if (old_setting) |
485 | alarm_timer_get(timr, old_setting); | 494 | alarm_timer_get(timr, old_setting); |
486 | 495 | ||