• Tejun Heo's avatar
    libata: always do follow-up SRST if hardreset returned -EAGAIN · 5dbfc9cb
    Tejun Heo authored
    As an optimization, follow-up SRST used to be skipped if
    classification wasn't requested even when hardreset requested it via
    -EAGAIN.  However, some hardresets can't wait for device readiness and
    skipping SRST can cause timeout or other failures during revalidation.
    Always perform follow-up SRST if hardreset returns -EAGAIN.  This
    makes reset paths more predictable and thus less error-prone.
    
    While at it, move hardreset error checking such that it's done right
    after hardreset is finished.  This simplifies followup SRST condition
    check a bit and makes the reset path easier to modify.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    5dbfc9cb
libata-eh.c 77.4 KB