]> git.karo-electronics.de Git - linux-beck.git/commit
ata: Disabling the async PM for JMicron chip 363/361
authorChuansheng Liu <chuansheng.liu@intel.com>
Mon, 1 Sep 2014 00:38:03 +0000 (08:38 +0800)
committerTejun Heo <tj@kernel.org>
Mon, 1 Sep 2014 12:38:06 +0000 (08:38 -0400)
commite6b7e41cdd8cae0591e04d9519b65470110e2d44
tree4d16561fd3405bdbab3c0391a6f2b0e86fd1a5b3
parent6cad1376954e591c3c41500c4e586e183e7ffe6d
ata: Disabling the async PM for JMicron chip 363/361

After enabled the PM feature that supporting async noirq(76569faa62
(PM / sleep: Asynchronous threads for resume_noirq)),
Jay hit the system resuming issue, that one of the JMicron controller
can not be powered up.

His device tree is like below:
             +-1c.4-[02]--+-00.0  JMicron Technology Corp. JMB363 SATA/IDE Controller
             |            \-00.1  JMicron Technology Corp. JMB363 SATA/IDE Controller

After investigation, we found the the Micron chip 363 included
one SATA controller(0000:02:00.0) and one PATA controller(0000:02:00.1),
these two controllers do not have parent-children relationship,
but the PATA controller only can be powered on after the SATA controller
has finished the powering on.

If we enabled the async noirq(), then the below error is hit during noirq
phase:
pata_jmicron 0000:02:00.1: Refused to change power state, currently in D3

Here for JMicron chip 363/361, we need forcedly to disable the async method.

Bug detail: https://bugzilla.kernel.org/show_bug.cgi?id=81551

Reported-by: Jay <MyMailClone@t-online.de>
Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci.c
drivers/ata/pata_jmicron.c