Fix comparison which always returned false Comparing an 8 bit value with ~0 does not work as expected. Replace ~0 by UINT8_MAX in comparison and also in assignment (and fix coding style, too). Cc: Gleb Natapov <gleb@redhat.com> Cc: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: malc <av1474@comtv.ru>
diff --git a/hw/hpet.c b/hw/hpet.c index 0c80ee5..d5c406c 100644 --- a/hw/hpet.c +++ b/hw/hpet.c
@@ -74,7 +74,7 @@ uint8_t hpet_id; /* instance id */ } HPETState; -struct hpet_fw_config hpet_cfg = {.count = ~0}; +struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX}; static uint32_t hpet_in_legacy_mode(HPETState *s) { @@ -682,8 +682,10 @@ int i, iomemtype; HPETTimer *timer; - if (hpet_cfg.count == ~0) /* first instance */ + if (hpet_cfg.count == UINT8_MAX) { + /* first instance */ hpet_cfg.count = 0; + } if (hpet_cfg.count == 8) { fprintf(stderr, "Only 8 instances of HPET is allowed\n");