sata_mv NCQ and SError fixes for mv_err_intr
authorMark Lord <liml@rtr.ca>
Fri, 2 May 2008 06:12:34 +0000 (02:12 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 6 May 2008 15:37:41 +0000 (11:37 -0400)
commit37b9046a3e433a0b0c39ad1e81ec187d5be800ba
treeef59c4c9b0dc332b69972aaa35edb9e9eb889c7a
parent00f42eabb204c68fa64ef72de834e74aca15c81f
sata_mv NCQ and SError fixes for mv_err_intr

Sigh.  Undo some earlier changes to mv_port_intr(),
so that we now read/clear SError again in all cases.

Arrange the top of the function to be as close as possible
to what we need for a later update (in this series) for ERR_DEV handling.

Fix things so that libata-eh can attempt a READ_LOG_EXT_10H
in response to a failed NCQ command, by just doing a local
mv_eh_freeze() rather than ata_port_freeze().

This will now fully handle NCQ errors much of the time,
but more fixes are needed for FBS/PMP, and for certain chip errata.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/sata_mv.c