Difference between revisions of "Patch disabling ACPI C3"
m (applied diff tag) |
|||
Line 6: | Line 6: | ||
If you don't want to patch your kernel, sacrifice C3 entirely and/or use WLAN mainly on AC then you can alternatively add rules to modules.conf to unload the acpi processor module as long as ipw2100 is loaded. | If you don't want to patch your kernel, sacrifice C3 entirely and/or use WLAN mainly on AC then you can alternatively add rules to modules.conf to unload the acpi processor module as long as ipw2100 is loaded. | ||
− | <diff> | + | <source lang="diff"> |
--- processor.c.orig Wed Mar 3 14:10:42 2004 | --- processor.c.orig Wed Mar 3 14:10:42 2004 | ||
+++ processor.c Thu Mar 4 17:56:02 2004 | +++ processor.c Thu Mar 4 17:56:02 2004 | ||
Line 21: | Line 21: | ||
* have the first (boot) processor with a valid PBLK address while | * have the first (boot) processor with a valid PBLK address while | ||
* all others have a NULL address. | * all others have a NULL address. | ||
− | </ | + | </source> |
[[Category:Patches]] | [[Category:Patches]] |
Latest revision as of 21:38, 7 February 2012
On some Thinkpads there is a problem with the ipw2100 wireless LAN driver when C3 is enabled. It results in frequent firmware restarts due to data corruption. If you see this problem frequently and want to disable C3 but still use C2 and the thermal management, you can apply this patch to the file /usr/src/linux/drivers/acpi/processor.c.
APPLY THIS PATCH ONLY IF YOUR SYSLOG REPORTS DRIVER RESTARTS AND FIRMWARE RELOADS ALL THE TIME!
This patch causes slightly shorter battery life.
NOTE!
A non-invasive (no patch needed) method for disabling C3 state is described in Problem with high pitch noises.
If you don't want to patch your kernel, sacrifice C3 entirely and/or use WLAN mainly on AC then you can alternatively add rules to modules.conf to unload the acpi processor module as long as ipw2100 is loaded.
--- processor.c.orig Wed Mar 3 14:10:42 2004
+++ processor.c Thu Mar 4 17:56:02 2004
@@ -1598,6 +1598,11 @@
"No bus mastering arbitration control\n"));
/*
+ * Hack: Disable bus master controller to disable C3 power transitions
+ */
+ pr->flags.bm_control = 0;
+
+ /*
* Evalute the processor object. Note that it is common on SMP to
* have the first (boot) processor with a valid PBLK address while
* all others have a NULL address.
Is this really needed after ipw2100 version 0.61?