diff options
author | Gabriele Mazzotta <gabriele.mzt@gmail.com> | 2015-04-25 19:52:37 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2015-04-25 16:50:14 -0400 |
commit | 09c5b4803a80a5451d950d6a539d2eb311dc0fb1 (patch) | |
tree | 3c705a3de60c8c2fe76ee8dd8d13d6e8676bce10 /drivers/ata/libata-eh.c | |
parent | 8393b811f38acdf7fd8da2028708edad3e68ce1f (diff) | |
download | lwn-09c5b4803a80a5451d950d6a539d2eb311dc0fb1.tar.gz lwn-09c5b4803a80a5451d950d6a539d2eb311dc0fb1.zip |
libata: Ignore spurious PHY event on LPM policy change
When the LPM policy is set to ATA_LPM_MAX_POWER, the device might
generate a spurious PHY event that cuases errors on the link.
Ignore this event if it occured within 10s after the policy change.
The timeout was chosen observing that on a Dell XPS13 9333 these
spurious events can occur up to roughly 6s after the policy change.
Link: http://lkml.kernel.org/g/3352987.ugV1Ipy7Z5@xps13
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r-- | drivers/ata/libata-eh.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 07f41be38fbe..cf0022ec07f2 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -3597,6 +3597,9 @@ static int ata_eh_set_lpm(struct ata_link *link, enum ata_lpm_policy policy, } } + link->last_lpm_change = jiffies; + link->flags |= ATA_LFLAG_CHANGED; + return 0; fail: |