From: Pavel Machek <pavel@ucw.cz>

In 2.6.3, cleanups arrived, and they got test for invalid frequencies
wrong.

Only first frequency is allowed to be < FID_TABLE_BOTTOM, but due to
bug it cleanups it allowed no frequencies < FID_TABLE_BOTTOM. This
fixes it.



---

 arch/i386/kernel/cpu/cpufreq/powernow-k8.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/i386/kernel/cpu/cpufreq/powernow-k8.c~powernow-frequency-handling-fix arch/i386/kernel/cpu/cpufreq/powernow-k8.c
--- 25/arch/i386/kernel/cpu/cpufreq/powernow-k8.c~powernow-frequency-handling-fix	2004-02-22 15:37:52.000000000 -0800
+++ 25-akpm/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2004-02-22 15:37:52.000000000 -0800
@@ -521,7 +521,8 @@ static int check_pst_table(struct pst_s 
 		}
 		if ((pst[j].fid > MAX_FID)
 		    || (pst[j].fid & 1)
-		    || (pst[j].fid < HI_FID_TABLE_BOTTOM)){
+		    || (j && (pst[j].fid < HI_FID_TABLE_BOTTOM))) {
+			/* Only first fid is allowed to be in "low" range */
 			printk(KERN_ERR PFX "fid %d invalid : 0x%x\n", j, pst[j].fid);
 			return -EINVAL;
 		}

_