aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-04-11 09:32:19 -0400
committerJeff Garzik <jeff@garzik.org>2006-04-11 13:31:36 -0400
commit2555d6c268240fb3f5f335bd62d0518025343c0f (patch)
treea4cd391fb73cf9c37fa4976d7d999ddea546d383 /drivers/scsi
parentb5bc421c96ca56a9abaad4619da01fe0071904a2 (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>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/sata_sil24.c6
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....