From 738d622febaa455528d1252a653e1329fff8014f Mon Sep 17 00:00:00 2001 From: Ashwin Sekhar T K Date: Tue, 10 Jan 2017 12:53:47 +0530 Subject: [PATCH] ARM64: Fix auto detect of ARM64 cpus --- cpuid_arm64.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/cpuid_arm64.c b/cpuid_arm64.c index e36213e..250d314 100644 --- a/cpuid_arm64.c +++ b/cpuid_arm64.c @@ -91,18 +91,21 @@ int detect(void) #ifdef linux FILE *infile; - char buffer[512], *p, *cpu_part, *cpu_implementer; + char buffer[512], *p, *cpu_part = NULL, *cpu_implementer = NULL; p = (char *) NULL ; infile = fopen("/proc/cpuinfo", "r"); while (fgets(buffer, sizeof(buffer), infile)) { + if ((cpu_part != NULL) && (cpu_implementer != NULL)) { + break; + } - if (!strncmp("CPU part", buffer, 8)) { + if ((cpu_part == NULL) && !strncmp("CPU part", buffer, 8)) { cpu_part = strchr(buffer, ':') + 2; - break; - } else if (!strncmp("CPU implementer", buffer, 15)) { + cpu_part = strdup(cpu_part); + } else if ((cpu_implementer == NULL) && !strncmp("CPU implementer", buffer, 15)) { cpu_implementer = strchr(buffer, ':') + 2; - break; + cpu_implementer = strdup(cpu_implementer); } } -- 2.7.4