From: Chris Wright Date: Tue, 16 May 2006 23:08:49 +0000 (-0700) Subject: smbus thermal management fix X-Git-Tag: v2.6.16.17~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4235179aa2a76b599c98e528c9070e8e4cdda335;p=thirdparty%2Fkernel%2Fstable-queue.git smbus thermal management fix --- diff --git a/queue-2.6.16/series b/queue-2.6.16/series index 07a2b71886e..dabbccd25cd 100644 --- a/queue-2.6.16/series +++ b/queue-2.6.16/series @@ -4,3 +4,4 @@ usb-ub-oops-in-block_uevent.patch fs-locks.c-Fix-sys_flock-race.patch smbfs-fix-slab-corruption-in-samba-error-path.patch fs-compat.c-fix-if-typo.patch +smbus-unhiding-kills-thermal-management.patch diff --git a/queue-2.6.16/smbus-unhiding-kills-thermal-management.patch b/queue-2.6.16/smbus-unhiding-kills-thermal-management.patch new file mode 100644 index 00000000000..919aa48d057 --- /dev/null +++ b/queue-2.6.16/smbus-unhiding-kills-thermal-management.patch @@ -0,0 +1,58 @@ +From stable-bounces@linux.kernel.org Mon May 15 09:56:14 2006 +Date: Mon, 15 May 2006 09:44:33 -0700 +From: akpm@osdl.org +To: torvalds@osdl.org +Cc: pavel@suse.cz, c-d.hailfinger.devel.2006@gmx.net, stable@kernel.org +Subject: [PATCH] smbus unhiding kills thermal management + + +From: Carl-Daniel Hailfinger + +Do not enable the SMBus device on Asus boards if suspend is used. We do +not reenable the device on resume, leading to all sorts of undesirable +effects, the worst being a total fan failure after resume on Samsung P35 +laptop. + +Signed-off-by: Carl-Daniel Hailfinger +Signed-off-by: Pavel Machek +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Chris Wright +--- + + drivers/pci/quirks.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- linux-2.6.16.16.orig/drivers/pci/quirks.c ++++ linux-2.6.16.16/drivers/pci/quirks.c +@@ -861,6 +861,7 @@ static void __init quirk_eisa_bridge(str + } + DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge ); + ++#ifndef CONFIG_ACPI_SLEEP + /* + * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge + * is not activated. The myth is that Asus said that they do not want the +@@ -872,8 +873,12 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I + * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it + * becomes necessary to do this tweak in two steps -- I've chosen the Host + * bridge as trigger. ++ * ++ * Actually, leaving it unhidden and not redoing the quirk over suspend2ram ++ * will cause thermal management to break down, and causing machine to ++ * overheat. + */ +-static int __initdata asus_hides_smbus = 0; ++static int __initdata asus_hides_smbus; + + static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) + { +@@ -1008,6 +1013,8 @@ static void __init asus_hides_smbus_lpc_ + } + DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_1, asus_hides_smbus_lpc_ich6 ); + ++#endif ++ + /* + * SiS 96x south bridge: BIOS typically hides SMBus device... + */