summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-12-09 16:13:15 +0100
committerJeff Garzik <jgarzik@redhat.com>2010-12-24 13:34:34 -0500
commite5005b15c91f3362036067bde5210d5c78af2f0d (patch)
treecbddea07bc4b27921f40a7cc0c0a687d7239041e /arch
parentf08dc1ac6b15c681f4643d8da1700e06c3855608 (diff)
downloadop-kernel-dev-e5005b15c91f3362036067bde5210d5c78af2f0d.zip
op-kernel-dev-e5005b15c91f3362036067bde5210d5c78af2f0d.tar.gz
libata: issue DIPM enable commands with LPM state updated
Low level drivers may behave differently depending on the current link->lpm_policy. During ata_eh_set_lpm(), DIPM enable commands are issued after the successful completion of ap->ops->set_lpm(), which means that the controller is already in the target state. This causes DIPM enable commands to be processed with mismatching controller power state and link->lpm_policy value. In ahci, link->lpm_policy is used to ignore certain PHY events if LPM is enabled; however, as DIPM commands are issued with stale link->lpm_policy, they sometimes end up triggering these conditions and get aborted leading to LPM configuration failure. Fix it by updating link->lpm_policy before issuing DIPM enable commands. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Kyle McMartin <kyle@mcmartin.ca> Cc: stable@kernel.org Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud