Since I have my ASUS A7N8x MO with nforce2, all linux distrib including gentoo has the same issue. When apic is on, the system freeze after a while. The solution for now is to pass nolapic as boot param. Someone from nvidia post a solution and patches following in the thread here : http://lkml.org/lkml/2004/5/3/157 Reproducible: Always Steps to Reproduce: 1. gentoo-sources-2.4.25-r2 kernel. (should be the same with last dev sources 2.6) 3. boot with full apic on 3. play with the box with big file transfert over network, baaaaa --> lockups. Actual Results: box lockups. hard reset needed.
Created attachment 31748 [details, diff] Patch for C1 Halt Disconnect problem on nForce2 Systems This patch was ripped from the following forum post: http://forums.gentoo.org/viewtopic.php?t=169004 I reformatted so it should apply without a hitch.. I have also tested it with gentoo-dev-sources-2.6.5-r1 and it appears to be working perfectly.
Should already be in the 2.6.7-r2 release. If not, please reopen this.
The fix has been in the 2.6 kernel for quite a while, but in a different, form (here: from 2.6.9): <---- snip from /usr/src/linux/arch/i386/pci/fixup.c ----> /* * Apply fixup only if C1 Halt Disconnect is enabled * (bit28) because it is not supported on some boards. */ if ((val & (1 << 28)) && val != fixed_val) { printk(KERN_WARNING "PCI: nForce2 C1 Halt Disconnect fixup\n"); pci_write_config_dword(dev, 0x6c, fixed_val); } <---- snip ----> i had the same problem with my ASUS A7N8X-E Deluxe ACPI BIOS Rev 1012. also with this version of the patch provided with the newer kernels, i had the same problem, because the fixup is not enabled on my board but it definitely does support C1 Halt Disconnect. i get the lookups on my machine after using hdparm -Tt /dev/hda several times. i have even faster lockups when using athcool shortly after bootup to enable the 'Halt Disconnect and Stop Grant Disconnect' bit for some power savings and keeping my processor cooler... i asked Allen Martin from Nvidia who has written the newest version of the patch to reconsider dropping the "(val & (1 << 28))", but he told me that this would not be save on all boards. so i ended up having to patch the kernel myself everytime upgrading to a new version. recently Andi Kleen from SuSE opened a bug regarding this matter on the kernel buzilla, which can be found here: http://bugzilla.kernel.org/show_bug.cgi?id=3551 as far as i know this is somehow related to our problem here. perhaps we should wait for 2.6.10 and test again with a vanilla kernel. hope i could help a little with this information.