Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.fr>2003-06-13 21:13:05 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-06-13 21:13:05 -0700
commitf3d302d93630d06be4b5e1d9468878914434945c (patch)
tree6e11a8aa57e935de3da42525600785c24292c217
parent7afd3b34d82a04235d0ce4a00ca4129cf5272461 (diff)
[PATCH] speedstep_detect_speed might not reenable interrupts
local_irq_save() is called at the beginning of speedstep_detect_speeds, but local_irq_restore() is not called on I/O errors.
-rw-r--r--arch/i386/kernel/cpu/cpufreq/speedstep-ich.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c b/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c
index f19b6f395531..18957e60af0d 100644
--- a/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c
+++ b/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c
@@ -549,8 +549,10 @@ static int speedstep_detect_speeds (void)
for (i=0; i<2; i++) {
/* read the current state */
result = speedstep_get_state(&state);
- if (result)
+ if (result) {
+ local_irq_restore(flags);
return result;
+ }
/* save the correct value, and switch to other */
if (state == SPEEDSTEP_LOW) {