07_NCQ_ahci-stop-dma-before-reset.patch
AHCI 1.1 mandates stopping dma before issueing COMMRESET. The
original code didn't and it resulted in occasional lockup of
the controller during EH recovery. This patch fixes the
problem.
Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
ahci.c | 2 ++
1 files changed, 2 insertions(+)
Index: work/drivers/scsi/ahci.c
===================================================================
--- work.orig/drivers/scsi/ahci.c 2005-06-27 00:20:31.000000000 +0900
+++ work/drivers/scsi/ahci.c 2005-06-27 00:20:31.000000000 +0900
@@ -474,7 +474,9 @@ static void ahci_phy_reset(struct ata_po
struct ata_device *dev = &ap->device[0];
u32 tmp;
+ ahci_stop_dma(ap);
__sata_phy_reset(ap);
+ ahci_start_dma(ap);