diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c
index 7c734fa..3dc067e 100644
--- a/drivers/cpufreq/cpufreq_interactive.c
+++ b/drivers/cpufreq/cpufreq_interactive.c
@@ -647,29 +647,26 @@
 	int i;
 	int ntokens = 1;
 	unsigned int *tokenized_data;
+	int err = -EINVAL;
 
 	cp = buf;
 	while ((cp = strpbrk(cp + 1, " :")))
 		ntokens++;
 
-	if (!(ntokens & 0x1)) {
-		tokenized_data = ERR_PTR(-EINVAL);
+	if (!(ntokens & 0x1))
 		goto err;
-	}
 
 	tokenized_data = kmalloc(ntokens * sizeof(unsigned int), GFP_KERNEL);
 	if (!tokenized_data) {
-		tokenized_data = ERR_PTR(-ENOMEM);
+		err = -ENOMEM;
 		goto err;
 	}
 
 	cp = buf;
 	i = 0;
 	while (i < ntokens) {
-		if (sscanf(cp, "%u", &tokenized_data[i++]) != 1) {
-			tokenized_data = ERR_PTR(-EINVAL);
+		if (sscanf(cp, "%u", &tokenized_data[i++]) != 1)
 			goto err_kfree;
-		}
 
 		cp = strpbrk(cp, " :");
 		if (!cp)
@@ -677,10 +674,8 @@
 		cp++;
 	}
 
-	if (i != ntokens) {
-		tokenized_data = ERR_PTR(-EINVAL);
+	if (i != ntokens)
 		goto err_kfree;
-	}
 
 	*num_tokens = ntokens;
 	return tokenized_data;
@@ -688,7 +683,7 @@
 err_kfree:
 	kfree(tokenized_data);
 err:
-	return tokenized_data;
+	return ERR_PTR(err);
 }
 
 static ssize_t show_target_loads(
