From: Tejun Heo Date: Thu, 9 Dec 2010 15:13:15 +0000 (+0100) Subject: libata: issue DIPM enable commands with LPM state updated X-Git-Tag: v2.6.37-rc8~15^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5005b15c91f3362036067bde5210d5c78af2f0d;p=pandora-kernel.git 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 Reported-by: Kyle McMartin Cc: stable@kernel.org Signed-off-by: Jeff Garzik --- Reading git-diff-tree failed