• Mark Lord's avatar
    [PATCH] sata_mv: prevent unnecessary double-resets · 9b358e30
    Mark Lord authored
    The mv_err_intr() function is invoked from the driver's interrupt handler,
    as well as from the timeout function.  This patch prevents it from triggering
    a one-after-the-other double reset of the controller when invoked
    from the timeout function.
    
    This also adds a check for a timeout race condition that has been observed
    to occur with this driver in earlier kernels.  This should not be needed,
    in theory, but in practice it has caught bugs.  Maybe nuke it at a later date.
    Signed-off-by: default avatarMark Lord <liml@rtr.ca>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    9b358e30
sata_mv.c 63.5 KB