• Mark Lord's avatar
    sata_mv delayed eh handling · 29d187bb
    Mark Lord authored
    Introduce a new "delayed error handling" mechanism in sata_mv,
    to enable us to eventually deal with multiple simultaneous NCQ
    failures on a single host link when a PM is present.
    
    This involves a port flag (MV_PP_FLAG_DELAYED_EH) to prevent new
    commands being queued, and a pmp bitmap to indicate which pmp links
    had NCQ errors.
    
    The new mv_pmp_error_handler() uses those values to invoke
    ata_eh_analyze_ncq_error() on each failed link, prior to freezing
    the port and passing control to sata_pmp_error_handler().
    
    This is based upon a strategy suggested by Tejun.
    
    For now, we just implement the delayed mechanism.
    The next patch in this series will add the multiple-NCQ EH code
    to take advantage of it.
    Signed-off-by: default avatarMark Lord <mlord@pobox.com>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    29d187bb
sata_mv.c 89.2 KB