Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[powerpc.git] / arch / i386 / kernel / acpi / earlyquirk.c
index 1649a17..c984169 100644 (file)
@@ -27,11 +27,17 @@ static int __init check_bridge(int vendor, int device)
 #ifdef CONFIG_ACPI
        /* According to Nvidia all timer overrides are bogus unless HPET
           is enabled. */
-       if (vendor == PCI_VENDOR_ID_NVIDIA) {
+       if (!acpi_use_timer_override && vendor == PCI_VENDOR_ID_NVIDIA) {
                nvidia_hpet_detected = 0;
                acpi_table_parse(ACPI_HPET, nvidia_hpet_check);
                if (nvidia_hpet_detected == 0) {
                        acpi_skip_timer_override = 1;
+                         printk(KERN_INFO "Nvidia board "
+                       "detected. Ignoring ACPI "
+                       "timer override.\n");
+                printk(KERN_INFO "If you got timer trouble "
+                                "try acpi_use_timer_override\n");
+
                }
        }
 #endif
@@ -48,7 +54,11 @@ void __init check_acpi_pci(void)
        int num, slot, func;
 
        /* Assume the machine supports type 1. If not it will 
-          always read ffffffff and should not have any side effect. */
+          always read ffffffff and should not have any side effect.
+          Actually a few buggy systems can machine check. Allow the user
+          to disable it by command line option at least -AK */
+       if (!early_pci_allowed())
+               return;
 
        /* Poor man's PCI discovery */
        for (num = 0; num < 32; num++) {