• Tejun Heo's avatar
    sata_nv: fix generic, nf2/3 detection regression · 3c324283
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    3c324283
sata_nv.c 67.2 KB