diff --git a/src/pit.c b/src/pit.c index b41f2acc9..b5d402bb3 100644 --- a/src/pit.c +++ b/src/pit.c @@ -908,6 +908,7 @@ static void * pit_init(const device_t *info) { pit_t *dev = (pit_t *) malloc(sizeof(pit_t)); + pit_reset(dev); pit_set_pit_const(dev, PITCONST); diff --git a/src/pit_fast.c b/src/pit_fast.c index fa643af8a..acaa6c271 100644 --- a/src/pit_fast.c +++ b/src/pit_fast.c @@ -697,10 +697,10 @@ pitf_init(const device_t *info) { pitf_t *dev = (pitf_t *) malloc(sizeof(pitf_t)); - pitf_set_pit_const(dev, PITCONST); - pitf_reset(dev); + pitf_set_pit_const(dev, PITCONST); + dev->flags = info->local; if (!(dev->flags & PIT_PS2) && !(dev->flags & PIT_CUSTOM_CLOCK)) {