Browse Source

[PATCH] sata_sil24: put port into known state before softresetting

Make sure the controller has no pending commands and ready for command
before issuing SRST.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo 19 years ago
parent
commit
2555d6c268
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/scsi/sata_sil24.c

+ 6 - 0
drivers/scsi/sata_sil24.c

@@ -474,6 +474,12 @@ static int sil24_softreset(struct ata_port *ap, unsigned int *class)
 	irq_enable = readl(port + PORT_IRQ_ENABLE_SET);
 	writel(irq_enable, port + PORT_IRQ_ENABLE_CLR);
 
+	/* put the port into known state */
+	if (sil24_init_port(ap)) {
+		reason ="port not ready";
+		goto err;
+	}
+
 	/*
 	 * XXX: Not sure whether the following sleep is needed or not.
 	 * The original driver had it.  So....