aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_via.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-01-29 06:31:34 -0500
committerJeff Garzik <jgarzik@redhat.com>2009-02-02 23:03:34 -0500
commitc2c7a89c5eabaea8c0c2aa0c1069e510144513ab (patch)
tree4cec432ebd36a103e366d56d2d62221674df5a99 /drivers/ata/sata_via.c
parenta07d499b4759881db1359dd8812eecd00b0e0a28 (diff)
libata: improve probe failure handling
When link is flaky at high speed, it isn't uncommon for a device to repeatedly fail probing sequence early after successfully negotiating high link speed. This often leads to consecutive hotplug events without successful probing. This patch improves libata EH such that it remembers probing trials and if there have been more than two unsuccessful trials in the past 60 seconds, slows down link speed to 1.5Gbps. As link speed negotiation is the duty of the PHY layer proper, the goal of this fallback mechanism is to provide the last resort when everything else fails, which unfortunately happens not too infrequently, so no fancy 6->3->1.5 speeding down or highest successful transmission speed seen kind of logics (yet). Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/sata_via.c')
0 files changed, 0 insertions, 0 deletions