diff options
author | Tejun Heo <htejun@gmail.com> | 2006-04-11 09:32:19 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-04-11 13:31:36 -0400 |
commit | 2555d6c268240fb3f5f335bd62d0518025343c0f (patch) | |
tree | a4cd391fb73cf9c37fa4976d7d999ddea546d383 | |
parent | b5bc421c96ca56a9abaad4619da01fe0071904a2 (diff) |
[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>
-rw-r--r-- | drivers/scsi/sata_sil24.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c index 8199527966eb..bfbd630a889c 100644 --- a/drivers/scsi/sata_sil24.c +++ b/drivers/scsi/sata_sil24.c | |||
@@ -474,6 +474,12 @@ static int sil24_softreset(struct ata_port *ap, unsigned int *class) | |||
474 | irq_enable = readl(port + PORT_IRQ_ENABLE_SET); | 474 | irq_enable = readl(port + PORT_IRQ_ENABLE_SET); |
475 | writel(irq_enable, port + PORT_IRQ_ENABLE_CLR); | 475 | writel(irq_enable, port + PORT_IRQ_ENABLE_CLR); |
476 | 476 | ||
477 | /* put the port into known state */ | ||
478 | if (sil24_init_port(ap)) { | ||
479 | reason ="port not ready"; | ||
480 | goto err; | ||
481 | } | ||
482 | |||
477 | /* | 483 | /* |
478 | * XXX: Not sure whether the following sleep is needed or not. | 484 | * XXX: Not sure whether the following sleep is needed or not. |
479 | * The original driver had it. So.... | 485 | * The original driver had it. So.... |