On Monday 05 March 2007 05:35, Antonino A. Daplas wrote:Looks like I got fooled by the negative logic for the nvidia_bugs(). Please test this patch -- it should fix it, as well as simplify the code a bit. thanks, -Len Subject: ACPI: repair nvidia early quirk breakage on x86_64 x86_64 nvidia_bugs() broke when we bailed out on not finding the HPET. However, the quirk works by checking for _not_ finding the HPET... Delete the nvidia_hpet_detected flag and simply test for not finding the HPET, which is simple to do now that acpi_table_parse returns 1 on failure. Signed-off-by: Len Brown <len.brown@intel.com> --- i386/kernel/acpi/earlyquirk.c | 7 +------ x86_64/kernel/early-quirks.c | 9 +-------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/arch/i386/kernel/acpi/earlyquirk.c b/arch/i386/kernel/acpi/earlyquirk.c index bf86f76..7fdba8a 100644 --- a/arch/i386/kernel/acpi/earlyquirk.c +++ b/arch/i386/kernel/acpi/earlyquirk.c @@ -14,11 +14,8 @@ #ifdef CONFIG_ACPI -static int nvidia_hpet_detected __initdata; - static int __init nvidia_hpet_check(struct acpi_table_header *header) { - nvidia_hpet_detected = 1; return 0; } #endif @@ -29,9 +26,7 @@ static int __init check_bridge(int vendor, int device) /* According to Nvidia all timer overrides are bogus unless HPET is enabled. */ if (!acpi_use_timer_override && vendor == PCI_VENDOR_ID_NVIDIA) { - nvidia_hpet_detected = 0; - acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check); - if (nvidia_hpet_detected == 0) { + if (acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check) { acpi_skip_timer_override = 1; printk(KERN_INFO "Nvidia board " "detected. Ignoring ACPI " diff --git a/arch/x86_64/kernel/early-quirks.c b/arch/x86_64/kernel/early-quirks.c index 8047ea8..dec587b 100644 --- a/arch/x86_64/kernel/early-quirks.c +++ b/arch/x86_64/kernel/early-quirks.c @@ -30,11 +30,8 @@ static void via_bugs(void) #ifdef CONFIG_ACPI -static int nvidia_hpet_detected __initdata; - static int __init nvidia_hpet_check(struct acpi_table_header *header) { - nvidia_hpet_detected = 1; return 0; } #endif @@ -52,11 +49,7 @@ static void nvidia_bugs(void) if (acpi_use_timer_override) return; - nvidia_hpet_detected = 0; - if (acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check)) - return; - - if (nvidia_hpet_detected == 0) { + if (acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check)) { acpi_skip_timer_override = 1; printk(KERN_INFO "Nvidia board " "detected. Ignoring ACPI " -
| Eric Sandeen | Re: [RFC] Heads up on sys_fallocate() |
| Linus Torvalds | Linux 2.6.27 |
| Cornelia Huck | Re: 2.6.22-rc3-mm1 |
| Andi Kleen | [PATCH for review] [6/48] x86: trim memory not covered by WB MTRRs |
| Linux Kernel Mailing List | i.MX3: make SoC devices globally available |
| Linux Kernel Mailing List | MXC: Remove WD IRQ priority setting |
| Linux Kernel Mailing List | ARM: DaVinci: i2c setup |
| Linux Kernel Mailing List | [MACVLAN]: Update Kconfig to refer to iproute |
git: | |
| Sverre Rabbelier | Git vs Monotone |
| Jakub Narebski | Re: [RFC] origin link for cherry-pick and revert |
| Jan-Benedict Glaw | Re: Errors GITtifying GCC and Binutils |
| H. Peter Anvin | Re: tip tree clone fail |
| jamal | Re: [PATCH 0/10 REV5] Implement skb batching and support in IPoIB/E1000 |
| KOVACS Krisztian | [net-next PATCH 01/16] Loosen source address check on IPv4 output |
| Ilpo Järvinen | Re: [bug] stuck localhost TCP connections, v2.6.26-rc3+ |
| Andrew Bird (Sphere Systems) | Re: [RFC] Patch to option HSO driver to the kernel |
| sata/ide timeout errors on asus server-mb | 2 hours ago | Linux kernel |
| Shared swap partition | 2 hours ago | Linux general |
| usb mic not detected | 7 hours ago | Applications and Utilities |
| Problem in Inserting a module | 7 hours ago | Linux kernel |
| Treason Uncloaked | 13 hours ago | Linux kernel |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 3 days ago | Linux kernel |
| Easter Eggs in windows XP | 3 days ago | Windows |
| Root password | 3 days ago | Linux general |
