mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Tejun Heo <htejun@gmail.com>
Cc: Andrew Morton <akpm@osdl.org>, Linus Torvalds <torvalds@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Jeff Garzik <jeff@garzik.org>
Subject: Re: Linux v2.6.18-rc5
Date: Tue, 29 Aug 2006 01:24:12 +1000	[thread overview]
Message-ID: <6353.1156778652@ocs10w.ocs.com.au> (raw)
In-Reply-To: Your message of "Mon, 28 Aug 2006 17:42:22 +0900." <44F2AC6E.90608@gmail.com>

Tejun Heo (on Mon, 28 Aug 2006 17:42:22 +0900) wrote:
>Keith Owens wrote:
>> Two hours of continuous reboots on an ICH5 chipset passed without any
>> problems.  Couple of caveats though -
>> 
>> (1) The "fix" for this bug is to skip the pcs test for SATA ports on
>>     ICH5 chipsets.  This results in spurious warning messages for ICH5
>>     SATA ports with no disks attached.
>> 
>>     ATA: abnormal status 0x7F on port 0xCCA7
>
>This is a known annoyance and will be fixed in time.
>
>> (2) I have seen the same intermittent bug on ICH7 SATA but
>>     PIIX_FLAG_IGNORE_PCS is only set for ich5 and i6300esb_sata.  It
>>     probably needs to be set for ich7 as well.
>
>No, ICH7 up to this point has been believed to have well-behaving PCS. 
>If you report PCS problem, you'll be the first.  Also, note that ICH7 
>suffers from ghost device probing problem if PCS is not honored exactly. 
>  Are you sure it's the same problem?

It definitely looks like it.  Stock 2.6.18-rc5 plus this patch to
activate ata_debug from boot until just after probing drives.

---
 drivers/scsi/ata_piix.c |    5 ++++-
 include/linux/libata.h  |    4 ++++
 2 files changed, 8 insertions(+), 1 deletion(-)

Index: linux/drivers/scsi/ata_piix.c
===================================================================
--- linux.orig/drivers/scsi/ata_piix.c
+++ linux/drivers/scsi/ata_piix.c
@@ -536,6 +536,8 @@ static void piix_pata_error_handler(stru
 			   ata_std_postreset);
 }
 
+int ata_debug = 1;
+
 /**
  *	piix_sata_present_mask - determine present mask for SATA host controller
  *	@ap: Target port
@@ -615,6 +617,7 @@ static void piix_sata_error_handler(stru
 {
 	ata_bmdma_drive_eh(ap, ata_std_prereset, piix_sata_softreset, NULL,
 			   ata_std_postreset);
+	ata_debug = 0;
 }
 
 /**
Index: linux/include/linux/libata.h
===================================================================
--- linux.orig/include/linux/libata.h
+++ linux/include/linux/libata.h
@@ -61,6 +61,10 @@
 #define VPRINTK(fmt, args...)
 #endif	/* ATA_DEBUG */
 
+extern int ata_debug;
+#undef DPRINTK
+#define DPRINTK(fmt, args...) if (ata_debug) printk(KERN_ERR "%s: " fmt, __FUNCTION__, ## args)
+
 #define BPRINTK(fmt, args...) if (ap->flags & ATA_FLAG_DEBUGMSG) printk(KERN_ERR "%s: " fmt, __FUNCTION__, ## args)
 
 /* NEW: debug levels */


Typical debug messages from a series of boots

<3>piix_sata_present_mask: ata1: ENTER, pcs=0x15 base=0
<3>piix_sata_present_mask: ata1: LEAVE, pcs=0x15 present_mask=0x3
<3>piix_sata_present_mask: ata1: ENTER, pcs=0x0 base=0
<3>piix_sata_present_mask: ata1: LEAVE, pcs=0x0 present_mask=0x3
<3>piix_sata_present_mask: ata1: ENTER, pcs=0x15 base=0
<3>piix_sata_present_mask: ata1: LEAVE, pcs=0x15 present_mask=0x3
<3>piix_sata_present_mask: ata1: ENTER, pcs=0x0 base=0
<3>piix_sata_present_mask: ata1: LEAVE, pcs=0x0 present_mask=0x3
<3>piix_sata_present_mask: ata1: ENTER, pcs=0x15 base=0

Note the pcs=0x0 values.  Adding PIIX_FLAG_IGNORE_PCS to
ich6m_sata_ahci gets past the failure to detect pcs, with no sign of
any ghost devices.  BTW, dropping down to 2.6.17 with the same config
has no problem detecting the disk, even without PIIX_FLAG_IGNORE_PCS on
ich6m_sata_ahci.

lspci extract, this is an ICH7M.

00:1f.0 Class 0601: 8086:27b9 (rev 02)
	Subsystem: 1033:832c
	Flags: bus master, medium devsel, latency 0
	Capabilities: [e0] Vendor Specific Information

00:1f.2 Class 0101: 8086:27c4 (rev 02) (prog-if 80)
	Subsystem: 1033:832c
	Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 18
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at 18b0 [size=16]
	Capabilities: [70] Power Management version 2

00:1f.3 Class 0c05: 8086:27da (rev 02)
	Subsystem: 1033:832c
	Flags: medium devsel, IRQ 11
	I/O ports at 18c0 [size=32]


  reply	other threads:[~2006-08-28 15:24 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-28  4:30 Linus Torvalds
2006-08-28  5:17 ` Marc Perkel
2006-08-28  5:52   ` Linus Torvalds
2006-08-28  6:13     ` Andi Kleen
2006-08-28  7:24       ` Prakash Punnoor
2006-08-28 12:05         ` Andi Kleen
2006-08-28 12:15           ` Prakash Punnoor
2006-08-28 16:02             ` Andi Kleen
2006-08-28  6:14 ` Andrew Morton
2006-08-28  6:19   ` Olaf Hering
2006-08-28  6:24     ` Andrew Morton
2006-08-28 14:41       ` Shailabh Nagar
2006-08-28 22:01         ` Shailabh Nagar
2006-08-28  6:29   ` Jeff Garzik
2006-08-28  7:25   ` Andi Kleen
2006-08-28  8:08     ` Thomas Gleixner
2006-08-28 17:20       ` Andrew Morton
2006-08-28 17:45         ` Thomas Gleixner
2006-08-28  8:05   ` Catalin Marinas
2006-08-28  8:25   ` Catalin Marinas
2006-08-28  8:34   ` Keith Owens
2006-08-28  8:42     ` Tejun Heo
2006-08-28 15:24       ` Keith Owens [this message]
2006-09-03  6:10         ` Tejun Heo
2006-09-06  6:42           ` Keith Owens
2006-09-13 14:41             ` Tejun Heo
2006-09-15  7:40           ` Keith Owens
2006-08-28  8:53   ` Beschorner Daniel
2006-08-28 15:26   ` Dmitry Torokhov
2006-08-29  2:01   ` Greg KH
2006-08-29  2:01   ` Greg KH
2006-08-29 14:50   ` Andreas Barth
2006-08-29 15:57   ` Brice Goglin
2006-08-30 15:54   ` Andrew Benton
2006-08-30 16:15     ` Takashi Iwai
2006-08-31  8:22       ` Takashi Iwai
2006-08-31  5:14   ` Len Brown
2006-09-02  1:40   ` Elias Holman
2006-09-02  1:50     ` Jeff Garzik
2006-08-28 10:10 ` Jesper Juhl
2006-08-28 10:27   ` Kasper Sandberg
2006-08-28 10:35     ` Jesper Juhl
2006-08-28 22:36       ` Nathan Scott
2006-08-28 23:30         ` Jesper Juhl
2006-08-30  8:14           ` Kasper Sandberg
2006-08-30  9:19             ` Jesper Juhl
2006-08-30 13:43               ` Jesper Juhl
2006-09-06 12:21             ` Paul Slootman
2006-08-28 13:04 ` Roger Luethi
2006-08-29 11:55 ` Olaf Hering
2006-08-29 13:06   ` Nathan Lynch
2006-08-29 15:52     ` Olaf Hering
2006-08-30  6:13       ` Paul Mackerras
2006-08-30  8:05         ` Olaf Hering
2006-08-30  9:00         ` Mikael Pettersson
2006-08-28  9:50 Chuck Ebbert
2006-08-28 18:40 ` Andrew Morton
2006-08-28 18:43   ` Arjan van de Ven
2006-08-29  5:36 Chuck Ebbert

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=6353.1156778652@ocs10w.ocs.com.au \
    --to=kaos@ocs.com.au \
    --cc=akpm@osdl.org \
    --cc=htejun@gmail.com \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome