summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2004-01-05 18:42:37 +0000
committerDave Jones <davej@delerium.codemonkey.org.uk>2004-01-05 18:42:37 +0000
commitb20d4ea87d8ee4c9463f7c91a222661325458e97 (patch)
tree5ddebfc398a68b41b69235f8d300a726665812bf
parentb5e6a0c59498c45cb3f53762f20ba8daeeae239c (diff)
[CPUFREQ] do not leak memory in powernow-k8
From Pavel Machek
-rw-r--r--arch/i386/kernel/cpu/cpufreq/powernow-k8.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
index 229fbe33ce2f..f38f4a5be3e8 100644
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
@@ -687,11 +687,13 @@ find_psb_table(void)
if (ppst[j].vid < rvo) { /* vid+rvo >= 0 */
printk(KERN_ERR BFX
"0 vid exceeded with pstate %d\n", j);
+ kfree(ppst);
return -ENODEV;
}
if (ppst[j].vid < maxvid+rvo) { /* vid+rvo >= maxvid */
printk(KERN_ERR BFX
"maxvid exceeded with pstate %d\n", j);
+ kfree(ppst);
return -ENODEV;
}
}
@@ -706,7 +708,7 @@ find_psb_table(void)
for (j = 0; j < numps; j++)
if ((ppst[j].fid==currfid) && (ppst[j].vid==currvid))
- return (0);
+ return 0;
printk(KERN_ERR BFX "currfid/vid do not match PST, ignoring\n");
return 0;