Make sure the controller has no pending commands and ready for command before issuing SRST. Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> --- drivers/scsi/sata_sil24.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) 538d286b508e9d611eeb1acdfeb0bfde395a0027 diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c index 722b287..fed47cf 100644 --- a/drivers/scsi/sata_sil24.c +++ b/drivers/scsi/sata_sil24.c @@ -475,6 +475,12 @@ static int sil24_softreset(struct ata_po 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.... -- 1.2.4 - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html