From: Tejun Heo Date: Tue, 11 Apr 2006 13:32:19 +0000 (+0900) Subject: [PATCH] sata_sil24: put port into known state before softresetting X-Git-Tag: firefly_0821_release~35456^2~109 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2555d6c268240fb3f5f335bd62d0518025343c0f;p=firefly-linux-kernel-4.4.55.git [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 Signed-off-by: Jeff Garzik --- 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) 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....