From: Tejun Heo <teheo@novell.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: gianluca <gianluca@sottospazio.it>,
linux-ide@vger.kernel.org, Jan Beulich <JBeulich@novell.com>,
dieter@plaetinck.be, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Mark Lord <kernel@teksavvy.com>,
Sergei Shtylyov <sshtylyov@ru.mvista.com>
Subject: [PATCH #upstream-fixes] libata,pata_via: revert ata_wait_idle() removal from ata_sff/via_tf_load()
Date: Thu, 09 Sep 2010 17:13:31 +0200 [thread overview]
Message-ID: <4C88F99B.9070408@novell.com> (raw)
In-Reply-To: <4C88F69E.6070000@kernel.org>
Commit 978c0666 (libata: Remove excess delay in the tf_load path)
removed ata_wait_idle() from ata_sff_tf_load() and via_tf_load().
This caused obscure detection problems in sata_sil.
https://bugzilla.kernel.org/show_bug.cgi?id=16606
The commit was pure performance optimization. Revert it for now.
Reported-by: Dieter Plaetinck <dieter@plaetinck.be>
Reported-by: Jan Beulich <JBeulich@novell.com>
Bisected-by: gianluca <gianluca@sottospazio.it>
Cc: stable@kernel.org
---
Let's revert it until better solution is found. Thanks.
drivers/ata/libata-sff.c | 3 +++
drivers/ata/pata_via.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 030b1c4..f0531b0 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -418,6 +418,7 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
if (ioaddr->ctl_addr)
iowrite8(tf->ctl, ioaddr->ctl_addr);
ap->last_ctl = tf->ctl;
+ ata_wait_idle(ap);
}
if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
@@ -453,6 +454,8 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
iowrite8(tf->device, ioaddr->device_addr);
VPRINTK("device 0x%X\n", tf->device);
}
+
+ ata_wait_idle(ap);
}
EXPORT_SYMBOL_GPL(ata_sff_tf_load);
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index 5e65988..ac8d7d9 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -417,6 +417,8 @@ static void via_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
tf->lbam,
tf->lbah);
}
+
+ ata_wait_idle(ap);
}
static int via_port_start(struct ata_port *ap)
next prev parent reply other threads:[~2010-09-09 15:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-08 18:26 sata_sil boot problems with kernel 2.6.35 and current git gianluca
2010-09-09 15:00 ` Tejun Heo
2010-09-09 15:13 ` Tejun Heo [this message]
2010-09-09 17:09 ` gianluca
2010-09-10 10:14 ` Jan Beulich
2010-09-10 14:30 ` Hugo Antunes
2010-09-10 14:39 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C88F99B.9070408@novell.com \
--to=teheo@novell.com \
--cc=JBeulich@novell.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=dieter@plaetinck.be \
--cc=gianluca@sottospazio.it \
--cc=jeff@garzik.org \
--cc=kernel@teksavvy.com \
--cc=linux-ide@vger.kernel.org \
--cc=sshtylyov@ru.mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.