sata_nv: fix generic, nf2/3 detection regression
authorTejun Heo <tj@kernel.org>
Mon, 3 Nov 2008 03:37:49 +0000 (12:37 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 4 Nov 2008 06:08:11 +0000 (01:08 -0500)
commit3c324283e6cdb79210cf7975c3e40d3ba3e672b2
treed6fc646a7fa8bdd33c20068c77ca12b71f199267
parent554d491de112a378b4d1a705bb93b58bcd444a70
sata_nv: fix generic, nf2/3 detection regression

All three flavors of sata_nv's are different in how their hardreset
behaves.

* generic: Hardreset is not reliable.  Link often doesn't come online
  after hardreset.

* nf2/3: A little bit better - link comes online with longer debounce
  timing.  However, nf2/3 can't reliable wait for the first D2H
  Register FIS, so it can't wait for device readiness or classify the
  device after hardreset.  Follow-up SRST required.

* ck804: Hardreset finally works.

The core layer change to prefer hardreset and follow up changes
exposed the above issues and caused various detection regressions for
all three flavors.  This patch, hopefully, fixes all the known issues
and should make sata_nv error handling more reliable.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/sata_nv.c