2006-05-17 22:19:08

by Chris Wright

[permalink] [raw]
Subject: [PATCH 07/22] [PATCH] smbus unhiding kills thermal management

-stable review patch. If anyone has any objections, please let us know.
------------------

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 <[email protected]>
Signed-off-by: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---

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...
*/

--


2006-05-18 20:52:59

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH 07/22] [PATCH] smbus unhiding kills thermal management

> -stable review patch. If anyone has any objections, please let us know.
> ------------------
>
> 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 <[email protected]>
> Signed-off-by: Pavel Machek <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> Signed-off-by: Chris Wright <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>

As the i2c and hwmon maintainer, I wish to thank Carl-Daniel for his
good work on this, and this patch is
Signed-off-by: Jean Delvare <[email protected]>

Note that this patch should fix bug #6449.

> ---
>
> 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...
> */

--
Jean Delvare

2006-05-18 21:14:15

by Greg KH

[permalink] [raw]
Subject: Re: [stable] Re: [PATCH 07/22] [PATCH] smbus unhiding kills thermal management

On Thu, May 18, 2006 at 10:53:10PM +0200, Jean Delvare wrote:
> > -stable review patch. If anyone has any objections, please let us know.
> > ------------------
> >
> > 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 <[email protected]>
> > Signed-off-by: Pavel Machek <[email protected]>
> > Signed-off-by: Andrew Morton <[email protected]>
> > Signed-off-by: Chris Wright <[email protected]>
> > Signed-off-by: Greg Kroah-Hartman <[email protected]>
>
> As the i2c and hwmon maintainer, I wish to thank Carl-Daniel for his
> good work on this, and this patch is
> Signed-off-by: Jean Delvare <[email protected]>
>
> Note that this patch should fix bug #6449.

Thanks, I've added this info to the patch and will show up in the final
changelog.

greg k-h