diff options
Diffstat (limited to 'arch/i386/kernel/i8253.c')
-rw-r--r-- | arch/i386/kernel/i8253.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/i386/kernel/i8253.c b/arch/i386/kernel/i8253.c index 5cbb776b3089..10cef5ca8a5b 100644 --- a/arch/i386/kernel/i8253.c +++ b/arch/i386/kernel/i8253.c | |||
@@ -47,9 +47,17 @@ static void init_pit_timer(enum clock_event_mode mode, | |||
47 | outb(LATCH >> 8 , PIT_CH0); /* MSB */ | 47 | outb(LATCH >> 8 , PIT_CH0); /* MSB */ |
48 | break; | 48 | break; |
49 | 49 | ||
50 | case CLOCK_EVT_MODE_ONESHOT: | 50 | /* |
51 | * Avoid unnecessary state transitions, as it confuses | ||
52 | * Geode / Cyrix based boxen. | ||
53 | */ | ||
51 | case CLOCK_EVT_MODE_SHUTDOWN: | 54 | case CLOCK_EVT_MODE_SHUTDOWN: |
55 | if (evt->mode == CLOCK_EVT_MODE_UNUSED) | ||
56 | break; | ||
52 | case CLOCK_EVT_MODE_UNUSED: | 57 | case CLOCK_EVT_MODE_UNUSED: |
58 | if (evt->mode == CLOCK_EVT_MODE_SHUTDOWN) | ||
59 | break; | ||
60 | case CLOCK_EVT_MODE_ONESHOT: | ||
53 | /* One shot setup */ | 61 | /* One shot setup */ |
54 | outb_p(0x38, PIT_MODE); | 62 | outb_p(0x38, PIT_MODE); |
55 | udelay(10); | 63 | udelay(10); |