diff --git a/sys_linux.c b/sys_linux.c index 441e6e4..24f027c 100644 --- a/sys_linux.c +++ b/sys_linux.c @@ -960,7 +960,9 @@ get_version_specific_details(void) if (uname(&uts) < 0) { LOG_FATAL(LOGF_SysLinux, "Cannot uname(2) to get kernel version, sorry."); } - if (sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch) != 3) { + + patch = 0; + if (sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch) < 2) { LOG_FATAL(LOGF_SysLinux, "Cannot read information from uname, sorry"); } @@ -1039,21 +1041,21 @@ get_version_specific_details(void) half-second intervals. */ tick_update_hz = 2; } - /* Let's be optimistic that these will be the same until proven - otherwise :-) */ - case 7: - case 8: + /* fall through */ + default: /* These don't seem to need scaling */ freq_scale = 1.0; have_readonly_adjtime = 2; have_nanopll = 1; break; - default: - LOG_FATAL(LOGF_SysLinux, "Kernel version not supported yet, sorry."); } break; default: - LOG_FATAL(LOGF_SysLinux, "Kernel's major version not supported yet, sorry"); + /* Let's be optimistic that these will be the same until proven + otherwise :-) */ + freq_scale = 1.0; + have_readonly_adjtime = 2; + have_nanopll = 1; break; }