LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Robert Hancock <hancockr@shaw.ca>
To: Alistair John Strachan <s0348365@sms.ed.ac.uk>
Cc: Jeff Garzik <jeff@garzik.org>, linux-kernel@vger.kernel.org
Subject: Re: CK804 SATA Errors (still got them)
Date: Sun, 04 Mar 2007 17:25:16 -0600	[thread overview]
Message-ID: <45EB555C.9050606@shaw.ca> (raw)
In-Reply-To: <200703021547.09121.s0348365@sms.ed.ac.uk>

Alistair John Strachan wrote:
>> Can you try reverting commit 721449bf0d51213fe3abf0ac3e3561ef9ea7827a
>> (link below) and see what effect that has?
>>
>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h
>> =721449bf0d51213fe3abf0ac3e3561ef9ea7827a
> 
> Obviously, I'll let you know if it happens again, but I've reverted this 
> commit and transferred 22.5GB over 45 minutes onto a RAID5 with 4 HDs on an 
> NVIDIA sata controller, and this error hasn't appeared.
> 
> So I'm inclined to (very unscientifically) say that this brings it back to 
> 2.6.20's level of stability.

Interesting. Can you try un-reverting that patch, and applying this one?

The reading of the status register is something that was part of the original
NVidia code, which I'm not really sure why is there. Given that reading
the status register clears the drive's interrupt status, that might be
causing some wierd interaction with the ADMA controller. Also, I added in
a printk for cases where notifiers are triggered but the command doesn't
indicate completion - if you still get problems, let me know if you see
that message.

--- linux-2.6.21-rc2-git3/drivers/ata/sata_nv.c	2007-03-04 14:44:05.000000000 -0600
+++ linux-2.6.21-rc2-git3edit/drivers/ata/sata_nv.c	2007-03-04 17:09:06.000000000 -0600
@@ -745,10 +745,10 @@
 			/* Grab the ATA port status for non-NCQ commands.
 			   For NCQ commands the current status may have nothing to do with
 			   the command just completed. */
-			if (qc->tf.protocol != ATA_PROT_NCQ) {
+/*			if (qc->tf.protocol != ATA_PROT_NCQ) {
 				u8 ata_status = readb(pp->ctl_block + (ATA_REG_STATUS * 4));
 				qc->err_mask |= ac_err_mask(ata_status);
-			}
+			}*/
 			DPRINTK("Completing qc from tag %d with err_mask %u\n",cpb_num,
 				qc->err_mask);
 			ata_qc_complete(qc);
@@ -764,6 +764,9 @@
 			ata_port_freeze(ap);
 			return 1;
 		}
+	} else {
+		ata_port_printk(ap, KERN_WARNING, "notifier for tag %d but not complete?\n",
+			cpb_num);
 	}
 	return 0;
 }

  reply	other threads:[~2007-03-04 23:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-01 13:39 Alistair John Strachan
2007-03-01 14:45 ` Robert Hancock
2007-03-01 15:13   ` Alistair John Strachan
2007-03-02  1:20     ` Alistair John Strachan
2007-03-02  2:40       ` Robert Hancock
2007-03-02 15:47         ` Alistair John Strachan
2007-03-04 23:25           ` Robert Hancock [this message]
2007-03-04 23:41             ` Alistair John Strachan
2007-03-04 23:49               ` Robert Hancock
2007-03-04 23:50               ` Jeff Garzik
2007-03-04 23:46             ` Jeff Garzik
2007-03-05  3:52             ` Alistair John Strachan

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=45EB555C.9050606@shaw.ca \
    --to=hancockr@shaw.ca \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=s0348365@sms.ed.ac.uk \
    --subject='Re: CK804 SATA Errors (still got them)' \
    /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

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).