libata: sata_down_spd_limit should return if driver has not recorded sstatus speed
authorDavid Milburn <dmilburn@redhat.com>
Tue, 14 Nov 2017 22:17:25 +0000 (16:17 -0600)
committerTejun Heo <tj@kernel.org>
Mon, 4 Dec 2017 21:57:03 +0000 (13:57 -0800)
commit2dc0b46b5ea30f169b0b272253ea846a5a281731
treeaf5d2c246d23d9beff75f95154ff4cc99bb79bb7
parent2467c0451ce5574738e223b93e3253c9a7015be1
libata: sata_down_spd_limit should return if driver has not recorded sstatus speed

During hotplug, it is possible for 6Gbps link speed to be limited all
the way down to 1.5 Gbps which may lead to a slower link speed when
drive is re-connected.

This behavior has been seen on a Intel Lewisburg SATA controller
(8086:a1d2) with HGST HUH728080ALE600 drive where SATA link speed was
limited to 1.5 Gbps and when re-connected the link came up 3.0 Gbps.

This patch was retested on above configuration and showed the
hotplugged link to come back online at max speed (6Gbps). I did not
see the downgrade when testing on Intel C600/X79, but retested patched
linux-4.14-rc5 kernel and didn't see any side effects from this
change. Also, successfully retested hotplug on port multiplier 3Gbps
link.

tj: Minor comment updates.

Signed-off-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/libata-core.c