]> git.baikalelectronics.ru Git - kernel.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)
commit1e69ae122180c152597538a715c1cf43cf3fd42c
tree4d16561fd3405bdbab3c0391a6f2b0e86fd1a5b3
parentc393cd27b14c49050226b7fd0e5116810c66221a
ata: Disabling the async PM for JMicron chip 363/361

After enabled the PM feature that supporting async noirq(d5359e5410
(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