* [PATCH #upstream-fixes] sata_nv: ck804 has borked hardreset too
@ 2009-02-01 1:56 Tejun Heo
2009-02-01 20:49 ` Robert Hancock
2009-02-03 4:04 ` Jeff Garzik
0 siblings, 2 replies; 3+ messages in thread
From: Tejun Heo @ 2009-02-01 1:56 UTC (permalink / raw)
To: Robert Hancock, Jeff Garzik, IDE/ATA development list
While playing with nvraid, I found out that rmmoding and insmoding
often trigger hardreset failure on the first port (the second one was
always okay). Seriously, how diverse can you get with hardreset
behaviors? Anyways, make ck804 use noclassify variant too.
Signed-off-by: Tejun Heo <tj@kernel.org>
---
Robert, ISTR that a user was reporting probing problem on ck804, I
think the user could have been seeing this. The behavior on my
motherboard is very curious. The problem is always with the first
port. If booted from cdrom, it always fails. If booted from
harddrive, the initial probing works fine but from the second time on,
it fails. Argh...
drivers/ata/sata_nv.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index c49ad0e..444af04 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -436,11 +436,16 @@ static struct ata_port_operations nv_nf2_ops = {
.hardreset = nv_noclassify_hardreset,
};
-/* CK804 finally gets hardreset right */
+/* For initial probing after boot and hot plugging, hardreset mostly
+ * works fine on CK804 but curiously, reprobing on the initial port by
+ * rescanning or rmmod/insmod fails to acquire the initial D2H Reg FIS
+ * in somewhat undeterministic way. Use noclassify hardreset.
+ */
static struct ata_port_operations nv_ck804_ops = {
.inherits = &nv_common_ops,
.freeze = nv_ck804_freeze,
.thaw = nv_ck804_thaw,
+ .hardreset = nv_noclassify_hardreset,
.host_stop = nv_ck804_host_stop,
};
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH #upstream-fixes] sata_nv: ck804 has borked hardreset too
2009-02-01 1:56 [PATCH #upstream-fixes] sata_nv: ck804 has borked hardreset too Tejun Heo
@ 2009-02-01 20:49 ` Robert Hancock
2009-02-03 4:04 ` Jeff Garzik
1 sibling, 0 replies; 3+ messages in thread
From: Robert Hancock @ 2009-02-01 20:49 UTC (permalink / raw)
To: Tejun Heo; +Cc: Jeff Garzik, IDE/ATA development list
Tejun Heo wrote:
> While playing with nvraid, I found out that rmmoding and insmoding
> often trigger hardreset failure on the first port (the second one was
> always okay). Seriously, how diverse can you get with hardreset
> behaviors? Anyways, make ck804 use noclassify variant too.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> ---
> Robert, ISTR that a user was reporting probing problem on ck804, I
> think the user could have been seeing this. The behavior on my
> motherboard is very curious. The problem is always with the first
> port. If booted from cdrom, it always fails. If booted from
> harddrive, the initial probing works fine but from the second time on,
> it fails. Argh...
Yeah, it's amazing how their controllers can be messed up with hardreset
in so many varying and creative ways. One only hopes their newer AHCI
based controllers have fewer bugs..
I saw another problem recently on CK804, where an error occurs on a DVD
drive (due to a scratched disc or something). This was in Windows,
using the default Microsoft IDE driver. It would either blue-screen the
machine with a machine check exception or just cause a hard lockup.
People have reported this in Linux as well, it seems like the controller
fails to respond to register accesses and triggers a northbridge
transaction timeout MCE. Obviously not a driver problem, then.. Ended up
switching the optical drives to the Silicon Image controller on this
board because the CK804 controller just wasn't reliable with them.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH #upstream-fixes] sata_nv: ck804 has borked hardreset too
2009-02-01 1:56 [PATCH #upstream-fixes] sata_nv: ck804 has borked hardreset too Tejun Heo
2009-02-01 20:49 ` Robert Hancock
@ 2009-02-03 4:04 ` Jeff Garzik
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Garzik @ 2009-02-03 4:04 UTC (permalink / raw)
To: Tejun Heo; +Cc: Robert Hancock, IDE/ATA development list
Tejun Heo wrote:
> While playing with nvraid, I found out that rmmoding and insmoding
> often trigger hardreset failure on the first port (the second one was
> always okay). Seriously, how diverse can you get with hardreset
> behaviors? Anyways, make ck804 use noclassify variant too.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> ---
> Robert, ISTR that a user was reporting probing problem on ck804, I
> think the user could have been seeing this. The behavior on my
> motherboard is very curious. The problem is always with the first
> port. If booted from cdrom, it always fails. If booted from
> harddrive, the initial probing works fine but from the second time on,
> it fails. Argh...
>
> drivers/ata/sata_nv.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
applied
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-02-03 4:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-01 1:56 [PATCH #upstream-fixes] sata_nv: ck804 has borked hardreset too Tejun Heo
2009-02-01 20:49 ` Robert Hancock
2009-02-03 4:04 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).