diff --git a/debian/changelog b/debian/changelog index 9ff0a650b..961d60680 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,10 @@ linux (3.5.3-1~experimental.1) UNRELEASED; urgency=low * New upstream stable update: http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.5.3 + [ Ben Hutchings ] + * mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver + (Closes: #686040) + -- Ben Hutchings Mon, 27 Aug 2012 17:22:33 -0700 linux (3.5.2-1~experimental.1) experimental; urgency=low diff --git a/debian/patches/bugfix/x86/mfd-lpc_ich-Fix-a-3.5-kernel-regression-for-iTCO_wdt.patch b/debian/patches/bugfix/x86/mfd-lpc_ich-Fix-a-3.5-kernel-regression-for-iTCO_wdt.patch new file mode 100644 index 000000000..9eb6f19cb --- /dev/null +++ b/debian/patches/bugfix/x86/mfd-lpc_ich-Fix-a-3.5-kernel-regression-for-iTCO_wdt.patch @@ -0,0 +1,91 @@ +From: Feng Tang +Date: Thu, 16 Aug 2012 15:50:10 +0800 +Subject: mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver + +commit 092369efbd6ef6b4a215741ce9f65446bf45beff upstream. + +There are many reports (including 2 of my machines) that iTCO_wdt watchdog +driver fails to be initialized in 3.5 kernel with error message like: + +[ 5.265175] ACPI Warning: 0x00001060-0x0000107f SystemIO conflicts with Region \_SB_.PCI0.LPCB.TCOI 1 (20120320/utaddress-251) +[ 5.265192] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver +[ 5.265206] lpc_ich: Resource conflict(s) found affecting iTCO_wdt + +The root cause the iTCO_wdt driver in 3.4 probes the HW IO resource from +LPC's PCI config space, while in 3.5 kernel it relies on lpc_ich driver +for the probe, which adds a new acpi_check_resource_conflict() check, and +give up the probe if there is any conflict with ACPI. + +Fix it by removing all the checks for iTCO_wdt to keep the same behavior as +3.4 kernel. +https://bugzilla.kernel.org/show_bug.cgi?id=44991 + +Actually the same check could be removed for the gpio-ich in lpc_ich.c, +but I'm not sure if it will cause problems. + +Signed-off-by: Feng Tang +Cc: Aaron Sierra +Cc: Wim Van Sebroeck +Cc: Len Brown +Cc: Bob Moore +Signed-off-by: Samuel Ortiz +--- + drivers/mfd/lpc_ich.c | 20 +------------------- + 1 file changed, 1 insertion(+), 19 deletions(-) + +diff --git a/drivers/mfd/lpc_ich.c b/drivers/mfd/lpc_ich.c +index 027cc8f..a05fdfc 100644 +--- a/drivers/mfd/lpc_ich.c ++++ b/drivers/mfd/lpc_ich.c +@@ -765,7 +765,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + u32 base_addr_cfg; + u32 base_addr; + int ret; +- bool acpi_conflict = false; + struct resource *res; + + /* Setup power management base register */ +@@ -780,20 +779,11 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + res = wdt_io_res(ICH_RES_IO_TCO); + res->start = base_addr + ACPIBASE_TCO_OFF; + res->end = base_addr + ACPIBASE_TCO_END; +- ret = acpi_check_resource_conflict(res); +- if (ret) { +- acpi_conflict = true; +- goto wdt_done; +- } + + res = wdt_io_res(ICH_RES_IO_SMI); + res->start = base_addr + ACPIBASE_SMI_OFF; + res->end = base_addr + ACPIBASE_SMI_END; +- ret = acpi_check_resource_conflict(res); +- if (ret) { +- acpi_conflict = true; +- goto wdt_done; +- } ++ + lpc_ich_enable_acpi_space(dev); + + /* +@@ -813,11 +803,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + res = wdt_mem_res(ICH_RES_MEM_GCS); + res->start = base_addr + ACPIBASE_GCS_OFF; + res->end = base_addr + ACPIBASE_GCS_END; +- ret = acpi_check_resource_conflict(res); +- if (ret) { +- acpi_conflict = true; +- goto wdt_done; +- } + } + + lpc_ich_finalize_cell(&lpc_ich_cells[LPC_WDT], id); +@@ -825,9 +810,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + 1, NULL, 0); + + wdt_done: +- if (acpi_conflict) +- pr_warn("Resource conflict(s) found affecting %s\n", +- lpc_ich_cells[LPC_WDT].name); + return ret; + } + diff --git a/debian/patches/series b/debian/patches/series index 69c7ef741..041e42766 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -57,3 +57,4 @@ bugfix/all/hwmon-applesmc-Shorten-minimum-wait-time.patch bugfix/all/hwmon-applesmc-Allow-negative-temperature-values.patch bugfix/all/hwmon-applesmc-Ignore-some-temperature-registers.patch bugfix/all/hwmon-applesmc-Decode-and-act-on-read-write-status-c.patch +bugfix/x86/mfd-lpc_ich-Fix-a-3.5-kernel-regression-for-iTCO_wdt.patch