Bug 86031
Summary: | [BISECTED] lpc_sch.c: hard reset required to get out of suspend since 3.13, unless acpi_enforce_resources=strict - Intel Atom Z520, Acer AO 751h | ||
---|---|---|---|
Product: | Drivers | Reporter: | Gonzalo (gonmator) |
Component: | Other | Assignee: | Johannes Thumshirn (jth) |
Status: | ASSIGNED --- | ||
Severity: | normal | CC: | aaron.lu, alan, edward.sternin, jth, lee.jones, lenb, rui.zhang |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | v3.13 to v3.17 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
Kernel version (from /proc/version)
Processor information (from /proc/cpuinfo) Module information (from /proc/modules) Loaded driver and hardware information (/proc/ioports, /proc/iomem) PCI information ('lspci -vvv') SCSI information (from /proc/scsi/scsi) Environment (lsb_release) /proc/version, /proc/modules, lspci -vvv from another AO751h/14.04.1 |
Description
Gonzalo
2014-10-11 09:02:13 UTC
Created attachment 153171 [details]
Kernel version (from /proc/version)
Created attachment 153181 [details]
Processor information (from /proc/cpuinfo)
Created attachment 153191 [details]
Module information (from /proc/modules)
Created attachment 153201 [details]
Loaded driver and hardware information (/proc/ioports, /proc/iomem)
Created attachment 153211 [details]
PCI information ('lspci -vvv')
Created attachment 153221 [details]
SCSI information (from /proc/scsi/scsi)
Created attachment 153231 [details]
Environment (lsb_release)
I can confirm the bug, on a very similar 14.04 lubuntu release, on AO751h, but Gonzalo has done a fantastic job tracking this down already. Just in case, I include here the data from my system that DIFFERS from Gonzalo's. Created attachment 153791 [details]
/proc/version, /proc/modules, lspci -vvv from another AO751h/14.04.1
My last findings (thanks to J. Thumshirn for his assistance): it looks the problem is related to the new line in lpc_sch.c used to intialize the variable sch_gpio_cell (struct mfd_cell) with the field ignore_resource_conflicts = true: The change in the identified commit included set the field ignore_resource_conflicts = true for variables isch_smbus_cell and wdt_sch_cell too. But only setting that field in sch_gpio_cell is when the issue is reproduced. The ignore_resource_conflicts line just tells the mfd framework to *not* check for any acpi resource conflicts and add the drivers anyway. So it looks the real problem is in gpio sub-drivers of mfd. Other way to reproduce the problem with a not affected kernel versions: booting with "acpi_enforce_resources=lax" kernel parameter. +Johannes Thumshirn Marked as regression on Intel HW. I think the new summary is confusing (sorry, because probably it also was confusing in my last comment): there are two ways to reproduce the problem: 1. boot with affected kernel (v3.13 or later) 2. boot with not affected kernel (v3.12 or sooner) BUT with "acpi_enforce_resources=lax" kernel parameter. I wanted to note a way to reproduce the problem with the non-affected kernel version, but not a workaround. I've changed the summary to reflect it. Okay, I re-worded the summary to: [BISECTED] lpc_sch.c: hard reset required to get out of suspend since 3.13, unless acpi_enforce_resources=strict - Intel Atom Z520, Acer AO 751h Hopefully that gets to the point. From the description in comment #10, it appears the offending commit is this one: Author: Johannes Thumshirn <johannes.thumshirn@men.de> 2013-10-23 07:31:00 Committer: Lee Jones <lee.jones@linaro.org> 2013-10-23 11:22:40 Follows: v3.12-rc5 Precedes: v3.13-rc1 mfd: lpc_sch: Ignore resource conflicts when adding mfd cells Currently probe of lpc_sch fails on Intel Poulsbo because of ACPI resource conflicts. A solution is to set the ignore_resource_conflicts flag in the mfd cells. Tested-by: Andreas Werner <andreas.werner@men.de> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de> Signed-off-by: Lee Jones <lee.jones@linaro.org> Unfortunately, this code has since been cleaned-up, and so a trivial revert no longer applies upstream. I do not see a fix for this regression in Linux-3.18-rc1 I do not see a fix for this regression in linux-next cc: Andriy Johannes, any update on this one? Oh sorry, haven't realized it's asigned to me. I think it's like Gonzalo already said, it could be the gpio-sch driver. Probably it doesn't restore the GPIO registers when comming out of resume. I'll contact the author of gpio-sch to the list, maybe he can elaborate a bit more on this. |