[CPUFREQ] Longhaul - Proper register access

In previous commit I used u32 for u16 register.
This code will work only when ACPI block address is set.
For now it is only for VT8235 and VT8237.

Signed-off-by: Rafal Bilski <rafalbilski@interia.pl>
Signed-off-by: Dave Jones <davej@redhat.com>
diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c
index 2841735..8eca59d 100644
--- a/arch/i386/kernel/cpu/cpufreq/longhaul.c
+++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c
@@ -247,7 +247,7 @@
 	struct cpufreq_freqs freqs;
 	unsigned long flags;
 	unsigned int pic1_mask, pic2_mask;
-	u32 bm_status = 0;
+	u16 bm_status = 0;
 	u32 bm_timeout = 1000;
 	unsigned int dir = 0;
 
@@ -281,14 +281,14 @@
 	outb(0xFE,0x21);	/* TMR0 only */
 
 	/* Wait while PCI bus is busy. */
-	if (longhaul_flags & USE_NORTHBRIDGE
-	    || ((pr != NULL) && pr->flags.bm_control)) {
-		bm_status = inl(acpi_regs_addr);
+	if (acpi_regs_addr && (longhaul_flags & USE_NORTHBRIDGE
+	    || ((pr != NULL) && pr->flags.bm_control))) {
+		bm_status = inw(acpi_regs_addr);
 		bm_status &= 1 << 4;
 		while (bm_status && bm_timeout) {
-			outl(1 << 4, acpi_regs_addr);
+			outw(1 << 4, acpi_regs_addr);
 			bm_timeout--;
-			bm_status = inl(acpi_regs_addr);
+			bm_status = inw(acpi_regs_addr);
 			bm_status &= 1 << 4;
 		}
 	}