[PATCH] AHCI: fix fatal error int handling

Linux Kernel Mailing List <[email protected]> Thu, 10 Mar 2005 05:45:03 +0000
Newsgroups gmane.linux.kernel.commits.2-4
Message-ID <[email protected]>
ChangeSet 1.1448.128.2, 2005/03/10 00:45:03-05:00, [email protected]

	[PATCH] AHCI: fix fatal error int handling
	
	I noticed that the AHCI CI (cmd issue) reg wasn't getting cleared
	after error ints resulting in no further commands being successfully
	issued to the port.  This patch fixes.  All that's really needed is
	the 1's complement but I also removed the disabling/enabling of the
	FIS_RX b/c this isn't spec'd as necessary when handling error ints.
	
	Signed-off-by: Brett Russ <[email protected]>
	Signed-off-by: Jeff Garzik <[email protected]>



 ahci.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


diff -Nru a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
--- a/drivers/scsi/ahci.c	2005-04-30 12:12:57 -07:00
+++ b/drivers/scsi/ahci.c	2005-04-30 12:12:57 -07:00
@@ -538,7 +538,7 @@
 
 	/* stop DMA */
 	tmp = readl(port_mmio + PORT_CMD);
-	tmp &= PORT_CMD_START | PORT_CMD_FIS_RX;
+	tmp &= ~PORT_CMD_START;
 	writel(tmp, port_mmio + PORT_CMD);
 
 	/* wait for engine to stop.  TODO: this could be
@@ -570,7 +570,7 @@
 
 	/* re-start DMA */
 	tmp = readl(port_mmio + PORT_CMD);
-	tmp |= PORT_CMD_START | PORT_CMD_FIS_RX;
+	tmp |= PORT_CMD_START;
 	writel(tmp, port_mmio + PORT_CMD);
 	readl(port_mmio + PORT_CMD); /* flush */