2002-07-23 20:53:39

by Daniel Tschan

[permalink] [raw]
Subject: 2.4.19-rc3 incorrectly detects PDC20276 in ATA mode as raid controller

Hi

Kernel 2.4.19-rc3 introduces a new bug regarding the Promise PDC20276
controller. One of my machines has a Gigabyte GA-8IRXP Motherboard with an
onboard Promise PDC20276. The controller can either be run in RAID or in
ATA mode. I operate it in ATA mode. Kernel 2.4.19-rc3 now incorrectly
skips IDE initialization of the PDC20276 because it thinks it's a RAID
controller which results in a kernel panic (the root filesystem is on a
harddisk connected to the Promise controller). It outputs a message like
this before it panics: PDC20276: Skipping RAID controller. This worked
correctly in 2.4.19-rc2.

Regards
Daniel




2002-07-23 23:20:06

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: 2.4.19-rc3 incorrectly detects PDC20276 in ATA mode as raid controller


Set CONFIG_PDC202XX_FORCE on.

On Tue, 23 Jul 2002, Daniel Tschan wrote:

> Hi
>
> Kernel 2.4.19-rc3 introduces a new bug regarding the Promise PDC20276
> controller. One of my machines has a Gigabyte GA-8IRXP Motherboard with an
> onboard Promise PDC20276. The controller can either be run in RAID or in
> ATA mode. I operate it in ATA mode. Kernel 2.4.19-rc3 now incorrectly
> skips IDE initialization of the PDC20276 because it thinks it's a RAID
> controller which results in a kernel panic (the root filesystem is on a
> harddisk connected to the Promise controller). It outputs a message like
> this before it panics: PDC20276: Skipping RAID controller. This worked
> correctly in 2.4.19-rc2.
>
> Regards
> Daniel
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2002-07-24 10:31:42

by Daniel Tschan

[permalink] [raw]
Subject: Re: 2.4.19-rc3 incorrectly detects PDC20276 in ATA mode as raid controller

This works, thank you. This option didn't get my attention at first
because its named Special FastTrak Feature in xconfig. Perhaps this should
be changed.

> Set CONFIG_PDC202XX_FORCE on.
>
> On Tue, 23 Jul 2002, Daniel Tschan wrote:
>
>> Hi
>>
>> Kernel 2.4.19-rc3 introduces a new bug regarding the Promise PDC20276
>> controller. One of my machines has a Gigabyte GA-8IRXP Motherboard
>> with an onboard Promise PDC20276. The controller can either be run in
>> RAID or in ATA mode. I operate it in ATA mode. Kernel 2.4.19-rc3 now
>> incorrectly skips IDE initialization of the PDC20276 because it thinks
>> it's a RAID controller which results in a kernel panic (the root
>> filesystem is on a harddisk connected to the Promise controller). It
>> outputs a message like this before it panics: PDC20276: Skipping RAID
>> controller. This worked correctly in 2.4.19-rc2.
>>
>> Regards
>> Daniel



2002-07-25 02:47:42

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: 2.4.19-rc3 incorrectly detects PDC20276 in ATA mode as raid controller



On Wed, 24 Jul 2002, Daniel Tschan wrote:

> This works, thank you. This option didn't get my attention at first
> because its named Special FastTrak Feature in xconfig. Perhaps this should
> be changed.

Yes. The behaviour should be as previous kernels (work with the kernel
driver by default).

The following patch should fix it.

diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/drivers/ide/ide-pci.c linux/drivers/ide/ide-pci.c
--- linux.orig/drivers/ide/ide-pci.c 2002-07-24 02:50:59.000000000 +0000
+++ linux/drivers/ide/ide-pci.c 2002-07-24 02:51:43.000000000 +0000
@@ -402,7 +402,7 @@
{DEVID_VIA_IDE, "VIA_IDE", NULL, NULL, NULL, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
{DEVID_MR_IDE, "VP_IDE", PCI_VIA82CXXX, ATA66_VIA82CXXX,INIT_VIA82CXXX, DMA_VIA82CXXX, {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, ON_BOARD, 0 },
{DEVID_VP_IDE, "VP_IDE", PCI_VIA82CXXX, ATA66_VIA82CXXX,INIT_VIA82CXXX, DMA_VIA82CXXX, {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, ON_BOARD, 0 },
-#ifdef CONFIG_PDC202XX_FORCE
+#ifndef CONFIG_PDC202XX_FORCE
{DEVID_PDC20246,"PDC20246", PCI_PDC202XX, NULL, INIT_PDC202XX, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, OFF_BOARD, 16 },
{DEVID_PDC20262,"PDC20262", PCI_PDC202XX, ATA66_PDC202XX, INIT_PDC202XX, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, OFF_BOARD, 48 },
{DEVID_PDC20265,"PDC20265", PCI_PDC202XX, ATA66_PDC202XX, INIT_PDC202XX, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 48 },
@@ -669,7 +669,7 @@
*/
pciirq = dev->irq;

-#ifndef CONFIG_PDC202XX_FORCE
+#ifdef CONFIG_PDC202XX_FORCE
if (dev->class >> 8 == PCI_CLASS_STORAGE_RAID) {
/*
* By rights we want to ignore Promise FastTrak and SuperTrak

2002-07-31 12:19:38

by Daniel Tschan

[permalink] [raw]
Subject: Re: 2.4.19-rc3 incorrectly detects PDC20276 in ATA mode as raid controller

Hi Marcelo

> Yes. The behaviour should be as previous kernels (work with the kernel
> driver by default).
>
> The following patch should fix it.
Yes it does. Line 410 of ide-pci.c should be changed too, from:

#else /* !CONFIG_PDC202XX_FORCE */

to

#else /* CONFIG_PDC202XX_FORCE */


Regards
Daniel