diff options
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c index 7fe5b2aaa209..de5deebc0154 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c | |||
@@ -110,14 +110,13 @@ static int query_current_values_with_pending_wait(struct powernow_k8_data *data) | |||
110 | u32 lo, hi; | 110 | u32 lo, hi; |
111 | u32 i = 0; | 111 | u32 i = 0; |
112 | 112 | ||
113 | lo = MSR_S_LO_CHANGE_PENDING; | 113 | do { |
114 | while (lo & MSR_S_LO_CHANGE_PENDING) { | ||
115 | if (i++ > 0x1000000) { | 114 | if (i++ > 0x1000000) { |
116 | printk(KERN_ERR PFX "detected change pending stuck\n"); | 115 | printk(KERN_ERR PFX "detected change pending stuck\n"); |
117 | return 1; | 116 | return 1; |
118 | } | 117 | } |
119 | rdmsr(MSR_FIDVID_STATUS, lo, hi); | 118 | rdmsr(MSR_FIDVID_STATUS, lo, hi); |
120 | } | 119 | } while (lo & MSR_S_LO_CHANGE_PENDING); |
121 | 120 | ||
122 | data->currvid = hi & MSR_S_HI_CURRENT_VID; | 121 | data->currvid = hi & MSR_S_HI_CURRENT_VID; |
123 | data->currfid = lo & MSR_S_LO_CURRENT_FID; | 122 | data->currfid = lo & MSR_S_LO_CURRENT_FID; |